package text_level;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * @author XieHao 谢昊
 * @function 专门进行代码高亮部分处理, 找出需高亮部分, 并留下记号;但高亮的颜色和样式得到Transformation类中处理
 */
public class JavaSyntaxHighlighter {
    private int pos1 = 0, pos2 = 0;//记录注释起始和终止位置
    private String line;//记录输入的整行java源代码并处理
    private String codeline = "";//记录分离注释后的代码行
    private String noteline = "";//记录注释部分
    private boolean Multiline_comment = false;//判断多行注释时使用
    private String str_regex = "(?<!\\\\)(\")(.*?)(?<!\\\\)(\")|(?<!\\\\)(\')(.*?)(?<!\\\\)(\')";//判断字符串的正则表达式 match " 和 '(同时不匹配\"和\'中的"和',防止误判)

    private String[][] regexkeywords;//存储keywords加了正则表达式后的地方
    private String[][] keywords =//这里记录关键字1,2,3,4,5分别有哪些
            {
                    {"abstract", "assert", "break",
                            "case", "catch", "class", "const",
                            "continue", "default", "do", "else",
                            "enum", "extends", "for", "goto", "if", "implements", "import",
                            "instanceof", "interface", "native",
                            "new", "package", "private", "protected", "public",
                            "return", "strictfp", "static", "super", "final", "finally",
                            "switch", "synchronized", "this", "throws", "throws", "void",
                            "transient", "try", "volatile", "while", "break", "null",
                            "boolean", "char", "float", "int", "long", "short",
                            "double", "var", "byte", "out"
                    },//记录代码常用关键字

                    {
                            "_BindingIteratorImplBase", "_BindingIteratorStub", "_DynAnyFactoryStub", "_DynAnyStub", "_DynArrayStub", "_DynEnumStub", "_DynFixedStub", "_DynSequenceStub", "_DynStructStub", "_DynUnionStub", "_DynValueStub", "_IDLTypeStub", "_NamingContextExtStub", "_NamingContextImplBase", "_NamingContextStub", "_PolicyStub", "_Remote_Stub", "_ServantActivatorStub", "_ServantLocatorStub", "AbstractAction", "AbstractAnnotationValueVisitor6", "AbstractBorder", "AbstractButton", "AbstractCellEditor", "AbstractCollection", "AbstractColorChooserPanel", "AbstractDocument", "AbstractDocument.AttributeContext", "AbstractDocument.Content", "AbstractDocument.ElementEdit", "AbstractElementVisitor6", "AbstractExecutorService", "AbstractInterruptibleChannel", "AbstractLayoutCache", "AbstractLayoutCache.NodeDimensions", "AbstractList", "AbstractListModel", "AbstractMap", "AbstractMap.SimpleEntry", "AbstractMap.SimpleImmutableEntry", "AbstractMarshallerImpl", "AbstractMethodError", "AbstractOwnableSynchronizer", "AbstractPreferences", "AbstractProcessor", "AbstractQueue", "AbstractQueuedLongSynchronizer", "AbstractQueuedSynchronizer", "AbstractScriptEngine", "AbstractSelectableChannel", "AbstractSelectionKey", "AbstractSelector", "AbstractSequentialList", "AbstractSet", "AbstractSpinnerModel", "AbstractTableModel", "AbstractTypeVisitor6", "AbstractUndoableEdit", "AbstractUnmarshallerImpl", "AbstractWriter", "AccessControlContext", "AccessControlException", "AccessController", "AccessException", "Accessible", "AccessibleAction", "AccessibleAttributeSequence", "AccessibleBundle", "AccessibleComponent", "AccessibleContext", "AccessibleEditableText", "AccessibleExtendedComponent", "AccessibleExtendedTable", "AccessibleExtendedText", "AccessibleHyperlink", "AccessibleHypertext", "AccessibleIcon", "AccessibleKeyBinding", "AccessibleObject", "AccessibleRelation", "AccessibleRelationSet", "AccessibleResourceBundle", "AccessibleRole", "AccessibleSelection", "AccessibleState", "AccessibleStateSet", "AccessibleStreamable", "AccessibleTable", "AccessibleTableModelChange", "AccessibleText", "AccessibleTextSequence", "AccessibleValue", "AccountException", "AccountExpiredException", "AccountLockedException", "AccountNotFoundException", "Acl", "AclEntry", "AclNotFoundException", "Action", "Action", "ActionEvent", "ActionListener", "ActionMap", "ActionMapUIResource", "Activatable", "ActivateFailedException", "ActivationDataFlavor", "ActivationDesc", "ActivationException", "ActivationGroup", "ActivationGroup_Stub", "ActivationGroupDesc", "ActivationGroupDesc.CommandEnvironment", "ActivationGroupID", "ActivationID", "ActivationInstantiator", "ActivationMonitor", "ActivationSystem", "Activator", "ACTIVE", "ActiveEvent", "ACTIVITY_COMPLETED", "ACTIVITY_REQUIRED", "ActivityCompletedException", "ActivityRequiredException", "AdapterActivator", "AdapterActivatorOperations", "AdapterAlreadyExists", "AdapterAlreadyExistsHelper", "AdapterInactive", "AdapterInactiveHelper", "AdapterManagerIdHelper", "AdapterNameHelper", "AdapterNonExistent", "AdapterNonExistentHelper", "AdapterStateHelper", "AddressHelper", "Addressing", "AddressingFeature", "Adjustable", "AdjustmentEvent", "AdjustmentListener", "Adler32", "AffineTransform", "AffineTransformOp", "AlgorithmMethod", "AlgorithmParameterGenerator", "AlgorithmParameterGeneratorSpi", "AlgorithmParameters", "AlgorithmParameterSpec", "AlgorithmParametersSpi", "AllPermission", "AlphaComposite", "AlreadyBound", "AlreadyBoundException", "AlreadyBoundHelper", "AlreadyBoundHolder", "AlreadyConnectedException", "AncestorEvent", "AncestorListener", "AnnotatedElement", "Annotation", "Annotation", "AnnotationFormatError", "AnnotationMirror", "AnnotationTypeMismatchException", "AnnotationValue", "AnnotationValueVisitor", "Any", "AnyHolder", "AnySeqHelper", "AnySeqHelper", "AnySeqHolder", "AppConfigurationEntry", "AppConfigurationEntry.LoginModuleControlFlag", "Appendable", "Applet", "AppletContext", "AppletInitializer", "AppletStub", "ApplicationException", "Arc2D", "Arc2D.Double", "Arc2D.Float", "Area", "AreaAveragingScaleFilter", "ARG_IN", "ARG_INOUT", "ARG_OUT", "ArithmeticException", "Array", "Array", "ArrayBlockingQueue", "ArrayDeque", "ArrayIndexOutOfBoundsException", "ArrayList", "Arrays", "ArrayStoreException", "ArrayType", "ArrayType", "AssertionError", "AsyncBoxView", "AsyncHandler", "AsynchronousCloseException", "AtomicBoolean", "AtomicInteger", "AtomicIntegerArray", "AtomicIntegerFieldUpdater", "AtomicLong", "AtomicLongArray", "AtomicLongFieldUpdater", "AtomicMarkableReference", "AtomicReference", "AtomicReferenceArray", "AtomicReferenceFieldUpdater", "AtomicStampedReference", "AttachmentMarshaller", "AttachmentPart", "AttachmentUnmarshaller", "Attr", "Attribute", "Attribute", "Attribute", "Attribute", "AttributeChangeNotification", "AttributeChangeNotificationFilter", "AttributedCharacterIterator", "AttributedCharacterIterator.Attribute", "AttributedString", "AttributeException", "AttributeInUseException", "AttributeList", "AttributeList", "AttributeList", "AttributeListImpl", "AttributeModificationException", "AttributeNotFoundException", "Attributes", "Attributes", "Attributes", "Attributes.Name", "Attributes2", "Attributes2Impl", "AttributeSet", "AttributeSet", "AttributeSet.CharacterAttribute", "AttributeSet.ColorAttribute", "AttributeSet.FontAttribute", "AttributeSet.ParagraphAttribute", "AttributeSetUtilities", "AttributesImpl", "AttributeValueExp", "AudioClip", "AudioFileFormat", "AudioFileFormat.Type", "AudioFileReader", "AudioFileWriter", "AudioFormat", "AudioFormat.Encoding", "AudioInputStream", "AudioPermission", "AudioSystem", "AuthenticationException", "AuthenticationException", "AuthenticationNotSupportedException", "Authenticator", "Authenticator.RequestorType", "AuthorizeCallback", "AuthPermission", "AuthProvider", "Autoscroll", "AWTError", "AWTEvent", "AWTEventListener", "AWTEventListenerProxy", "AWTEventMulticaster", "AWTException", "AWTKeyStroke", "AWTPermission", "BackingStoreException", "BAD_CONTEXT", "BAD_INV_ORDER", "BAD_OPERATION", "BAD_PARAM", "BAD_POLICY", "BAD_POLICY_TYPE", "BAD_POLICY_VALUE", "BAD_QOS", "BAD_TYPECODE", "BadAttributeValueExpException", "BadBinaryOpValueExpException", "BadKind", "BadLocationException", "BadPaddingException", "BadStringOperationException", "BandCombineOp", "BandedSampleModel", "BaseRowSet", "BasicArrowButton", "BasicAttribute", "BasicAttributes", "BasicBorders", "BasicBorders.ButtonBorder", "BasicBorders.FieldBorder", "BasicBorders.MarginBorder", "BasicBorders.MenuBarBorder", "BasicBorders.RadioButtonBorder", "BasicBorders.RolloverButtonBorder", "BasicBorders.SplitPaneBorder", "BasicBorders.ToggleButtonBorder", "BasicButtonListener", "BasicButtonUI", "BasicCheckBoxMenuItemUI", "BasicCheckBoxUI", "BasicColorChooserUI", "BasicComboBoxEditor", "BasicComboBoxEditor.UIResource", "BasicComboBoxRenderer", "BasicComboBoxRenderer.UIResource", "BasicComboBoxUI", "BasicComboPopup", "BasicControl", "BasicDesktopIconUI", "BasicDesktopPaneUI", "BasicDirectoryModel", "BasicEditorPaneUI", "BasicFileChooserUI", "BasicFormattedTextFieldUI", "BasicGraphicsUtils", "BasicHTML", "BasicIconFactory", "BasicInternalFrameTitlePane", "BasicInternalFrameUI", "BasicLabelUI", "BasicListUI", "BasicLookAndFeel", "BasicMenuBarUI", "BasicMenuItemUI", "BasicMenuUI", "BasicOptionPaneUI", "BasicOptionPaneUI.ButtonAreaLayout", "BasicPanelUI", "BasicPasswordFieldUI", "BasicPermission", "BasicPopupMenuSeparatorUI", "BasicPopupMenuUI", "BasicProgressBarUI", "BasicRadioButtonMenuItemUI", "BasicRadioButtonUI", "BasicRootPaneUI", "BasicScrollBarUI", "BasicScrollPaneUI", "BasicSeparatorUI", "BasicSliderUI", "BasicSpinnerUI", "BasicSplitPaneDivider", "BasicSplitPaneUI", "BasicStroke", "BasicTabbedPaneUI", "BasicTableHeaderUI", "BasicTableUI", "BasicTextAreaUI", "BasicTextFieldUI", "BasicTextPaneUI", "BasicTextUI", "BasicTextUI.BasicCaret", "BasicTextUI.BasicHighlighter", "BasicToggleButtonUI", "BasicToolBarSeparatorUI", "BasicToolBarUI", "BasicToolTipUI", "BasicTreeUI", "BasicViewportUI", "BatchUpdateException", "BeanContext", "BeanContextChild", "BeanContextChildComponentProxy", "BeanContextChildSupport", "BeanContextContainerProxy", "BeanContextEvent", "BeanContextMembershipEvent", "BeanContextMembershipListener", "BeanContextProxy", "BeanContextServiceAvailableEvent", "BeanContextServiceProvider", "BeanContextServiceProviderBeanInfo", "BeanContextServiceRevokedEvent", "BeanContextServiceRevokedListener", "BeanContextServices", "BeanContextServicesListener", "BeanContextServicesSupport", "BeanContextServicesSupport.BCSSServiceProvider", "BeanContextSupport", "BeanContextSupport.BCSIterator", "BeanDescriptor", "BeanInfo", "Beans", "BevelBorder", "Bidi", "BigDecimal", "BigInteger", "BinaryRefAddr", "Binder", "BindException", "Binding", "Binding", "Binding", "BindingHelper", "BindingHolder", "BindingIterator", "BindingIteratorHelper", "BindingIteratorHolder", "BindingIteratorOperations", "BindingIteratorPOA", "BindingListHelper", "BindingListHolder", "BindingProvider", "Bindings", "BindingType", "BindingType", "BindingTypeHelper", "BindingTypeHolder", "BitSet", "Blob", "BlockingDeque", "BlockingQueue", "BlockView", "BMPImageWriteParam", "Book", "Boolean", "BooleanControl", "BooleanControl.Type", "BooleanHolder", "BooleanSeqHelper", "BooleanSeqHolder", "Border", "BorderFactory", "BorderLayout", "BorderUIResource", "BorderUIResource.BevelBorderUIResource", "BorderUIResource.CompoundBorderUIResource", "BorderUIResource.EmptyBorderUIResource", "BorderUIResource.EtchedBorderUIResource", "BorderUIResource.LineBorderUIResource", "BorderUIResource.MatteBorderUIResource", "BorderUIResource.TitledBorderUIResource", "BoundedRangeModel", "Bounds", "Bounds", "Box", "Box.Filler", "BoxedValueHelper", "BoxLayout", "BoxView", "BreakIterator", "BreakIteratorProvider", "BrokenBarrierException", "Buffer", "BufferCapabilities", "BufferCapabilities.FlipContents", "BufferedImage", "BufferedImageFilter", "BufferedImageOp", "BufferedInputStream", "BufferedOutputStream", "BufferedReader", "BufferedWriter", "BufferOverflowException", "BufferStrategy", "BufferUnderflowException", "Button", "ButtonGroup", "ButtonModel", "ButtonUI", "Byte", "ByteArrayInputStream", "ByteArrayOutputStream", "ByteBuffer", "ByteChannel", "ByteHolder", "ByteLookupTable", "ByteOrder", "C14NMethodParameterSpec", "CachedRowSet", "CacheRequest", "CacheResponse", "Calendar", "Callable", "CallableStatement", "Callback", "CallbackHandler", "CancelablePrintJob", "CancellationException", "CancelledKeyException", "CannotProceed", "CannotProceedException", "CannotProceedHelper", "CannotProceedHolder", "CannotRedoException", "CannotUndoException", "CanonicalizationMethod", "Canvas", "CardLayout", "Caret", "CaretEvent", "CaretListener", "CDATASection", "CellEditor", "CellEditorListener", "CellRendererPane", "Certificate", "Certificate", "Certificate", "Certificate.CertificateRep", "CertificateEncodingException", "CertificateEncodingException", "CertificateException", "CertificateException", "CertificateExpiredException", "CertificateExpiredException", "CertificateFactory", "CertificateFactorySpi", "CertificateNotYetValidException", "CertificateNotYetValidException", "CertificateParsingException", "CertificateParsingException", "CertPath", "CertPath.CertPathRep", "CertPathBuilder", "CertPathBuilderException", "CertPathBuilderResult", "CertPathBuilderSpi", "CertPathParameters", "CertPathTrustManagerParameters", "CertPathValidator", "CertPathValidatorException", "CertPathValidatorResult", "CertPathValidatorSpi", "CertSelector", "CertStore", "CertStoreException", "CertStoreParameters", "CertStoreSpi", "ChangedCharSetException", "ChangeEvent", "ChangeListener", "Channel", "ChannelBinding", "Channels", "Character", "Character.Subset", "Character.UnicodeBlock", "CharacterCodingException", "CharacterData", "CharacterIterator", "Characters", "CharArrayReader", "CharArrayWriter", "CharBuffer", "CharConversionException", "CharHolder", "CharSeqHelper", "CharSeqHolder", "CharSequence", "Charset", "CharsetDecoder", "CharsetEncoder", "CharsetProvider", "Checkbox", "CheckboxGroup", "CheckboxMenuItem", "CheckedInputStream", "CheckedOutputStream", "Checksum", "Choice", "ChoiceCallback", "ChoiceFormat", "Chromaticity", "Cipher", "CipherInputStream", "CipherOutputStream", "CipherSpi", "Class", "ClassCastException", "ClassCircularityError", "ClassDefinition", "ClassDesc", "ClassFileTransformer", "ClassFormatError", "ClassLoader", "ClassLoaderRepository", "ClassLoadingMXBean", "ClassNotFoundException", "ClientInfoStatus", "ClientRequestInfo", "ClientRequestInfoOperations", "ClientRequestInterceptor", "ClientRequestInterceptorOperations", "Clip", "Clipboard", "ClipboardOwner", "Clob", "Cloneable", "CloneNotSupportedException", "Closeable", "ClosedByInterruptException", "ClosedChannelException", "ClosedSelectorException", "CMMException", "Codec", "CodecFactory", "CodecFactoryHelper", "CodecFactoryOperations", "CodecOperations", "CoderMalfunctionError", "CoderResult", "CODESET_INCOMPATIBLE", "CodeSets", "CodeSigner", "CodeSource", "CodingErrorAction", "CollapsedStringAdapter", "CollationElementIterator", "CollationKey", "Collator", "CollatorProvider", "Collection", "CollectionCertStoreParameters", "Collections", "Color", "ColorChooserComponentFactory", "ColorChooserUI", "ColorConvertOp", "ColorModel", "ColorSelectionModel", "ColorSpace", "ColorSupported", "ColorType", "ColorUIResource", "ComboBoxEditor", "ComboBoxModel", "ComboBoxUI", "ComboPopup", "COMM_FAILURE", "CommandInfo", "CommandMap", "CommandObject", "Comment", "Comment", "CommonDataSource", "CommunicationException", "Comparable", "Comparator", "Compilable", "CompilationMXBean", "CompiledScript", "Compiler", "Completion", "Completions", "CompletionService", "CompletionStatus", "CompletionStatusHelper", "Component", "Component.BaselineResizeBehavior", "ComponentAdapter", "ComponentColorModel", "ComponentEvent", "ComponentIdHelper", "ComponentInputMap", "ComponentInputMapUIResource", "ComponentListener", "ComponentOrientation", "ComponentSampleModel", "ComponentUI", "ComponentView", "Composite", "CompositeContext", "CompositeData", "CompositeDataInvocationHandler", "CompositeDataSupport", "CompositeDataView", "CompositeName", "CompositeType", "CompositeView", "CompoundBorder", "CompoundControl", "CompoundControl.Type", "CompoundEdit", "CompoundName", "Compression", "ConcurrentHashMap", "ConcurrentLinkedQueue", "ConcurrentMap", "ConcurrentModificationException", "ConcurrentNavigableMap", "ConcurrentSkipListMap", "ConcurrentSkipListSet", "Condition", "Configuration", "Configuration.Parameters", "ConfigurationException", "ConfigurationSpi", "ConfirmationCallback", "ConnectException", "ConnectException", "ConnectIOException", "Connection", "ConnectionEvent", "ConnectionEventListener", "ConnectionPendingException", "ConnectionPoolDataSource", "Console", "ConsoleHandler", "Constructor", "ConstructorProperties", "Container", "ContainerAdapter", "ContainerEvent", "ContainerListener", "ContainerOrderFocusTraversalPolicy", "ContentHandler", "ContentHandler", "ContentHandlerFactory", "ContentModel", "Context", "Context", "ContextList", "ContextNotEmptyException", "ContextualRenderedImageFactory", "Control", "Control", "Control.Type", "ControlFactory", "ControllerEventListener", "ConvolveOp", "CookieHandler", "CookieHolder", "CookieManager", "CookiePolicy", "CookieStore", "Copies", "CopiesSupported", "CopyOnWriteArrayList", "CopyOnWriteArraySet", "CountDownLatch", "CounterMonitor", "CounterMonitorMBean", "CRC32", "CredentialException", "CredentialExpiredException", "CredentialNotFoundException", "CRL", "CRLException", "CRLSelector", "CropImageFilter", "CSS", "CSS.Attribute", "CTX_RESTRICT_SCOPE", "CubicCurve2D", "CubicCurve2D.Double", "CubicCurve2D.Float", "Currency", "CurrencyNameProvider", "Current", "Current", "Current", "CurrentHelper", "CurrentHelper", "CurrentHelper", "CurrentHolder", "CurrentOperations", "CurrentOperations", "CurrentOperations", "Cursor", "Customizer", "CustomMarshal", "CustomValue", "CyclicBarrier", "Data", "DATA_CONVERSION", "DatabaseMetaData", "DataBindingException", "DataBuffer", "DataBufferByte", "DataBufferDouble", "DataBufferFloat", "DataBufferInt", "DataBufferShort", "DataBufferUShort", "DataContentHandler", "DataContentHandlerFactory", "DataFlavor", "DataFormatException", "DatagramChannel", "DatagramPacket", "DatagramSocket", "DatagramSocketImpl", "DatagramSocketImplFactory", "DataHandler", "DataInput", "DataInputStream", "DataInputStream", "DataLine", "DataLine.Info", "DataOutput", "DataOutputStream", "DataOutputStream", "DataSource", "DataSource", "DataTruncation", "DatatypeConfigurationException", "DatatypeConstants", "DatatypeConstants.Field", "DatatypeConverter", "DatatypeConverterInterface", "DatatypeFactory", "Date", "Date", "DateFormat", "DateFormat.Field", "DateFormatProvider", "DateFormatSymbols", "DateFormatSymbolsProvider", "DateFormatter", "DateTimeAtCompleted", "DateTimeAtCreation", "DateTimeAtProcessing", "DateTimeSyntax", "DebugGraphics", "DecimalFormat", "DecimalFormatSymbols", "DecimalFormatSymbolsProvider", "DeclaredType", "DeclHandler", "DefaultBoundedRangeModel", "DefaultButtonModel", "DefaultCaret", "DefaultCellEditor", "DefaultColorSelectionModel", "DefaultComboBoxModel", "DefaultDesktopManager", "DefaultEditorKit", "DefaultEditorKit.BeepAction", "DefaultEditorKit.CopyAction", "DefaultEditorKit.CutAction", "DefaultEditorKit.DefaultKeyTypedAction", "DefaultEditorKit.InsertBreakAction", "DefaultEditorKit.InsertContentAction", "DefaultEditorKit.InsertTabAction", "DefaultEditorKit.PasteAction", "DefaultFocusManager", "DefaultFocusTraversalPolicy", "DefaultFormatter", "DefaultFormatterFactory", "DefaultHandler", "DefaultHandler2", "DefaultHighlighter", "DefaultHighlighter.DefaultHighlightPainter", "DefaultKeyboardFocusManager", "DefaultListCellRenderer", "DefaultListCellRenderer.UIResource", "DefaultListModel", "DefaultListSelectionModel", "DefaultLoaderRepository", "DefaultLoaderRepository", "DefaultMenuLayout", "DefaultMetalTheme", "DefaultMutableTreeNode", "DefaultPersistenceDelegate", "DefaultRowSorter", "DefaultRowSorter.ModelWrapper", "DefaultSingleSelectionModel", "DefaultStyledDocument", "DefaultStyledDocument.AttributeUndoableEdit", "DefaultStyledDocument.ElementSpec", "DefaultTableCellRenderer", "DefaultTableCellRenderer.UIResource", "DefaultTableColumnModel", "DefaultTableModel", "DefaultTextUI", "DefaultTreeCellEditor", "DefaultTreeCellRenderer", "DefaultTreeModel", "DefaultTreeSelectionModel", "DefaultValidationEventHandler", "DefinitionKind", "DefinitionKindHelper", "Deflater", "DeflaterInputStream", "DeflaterOutputStream", "Delayed", "DelayQueue", "Delegate", "Delegate", "Delegate", "DelegationPermission", "Deprecated", "Deque", "Descriptor", "DescriptorAccess", "DescriptorKey", "DescriptorRead", "DescriptorSupport", "DESedeKeySpec", "DesignMode", "DESKeySpec", "Desktop", "Desktop.Action", "DesktopIconUI", "DesktopManager", "DesktopPaneUI", "Destination", "Destroyable", "DestroyFailedException", "Detail", "DetailEntry", "DGC", "DHGenParameterSpec", "DHKey", "DHParameterSpec", "DHPrivateKey", "DHPrivateKeySpec", "DHPublicKey", "DHPublicKeySpec", "Diagnostic", "Diagnostic.Kind", "DiagnosticCollector", "DiagnosticListener", "Dialog", "Dialog.ModalExclusionType", "Dialog.ModalityType", "Dictionary", "DigestException", "DigestInputStream", "DigestMethod", "DigestMethodParameterSpec", "DigestOutputStream", "Dimension", "Dimension2D", "DimensionUIResource", "DirContext", "DirectColorModel", "DirectoryManager", "DirObjectFactory", "DirStateFactory", "DirStateFactory.Result", "DISCARDING", "Dispatch", "DisplayMode", "DnDConstants", "Doc", "DocAttribute", "DocAttributeSet", "DocFlavor", "DocFlavor.BYTE_ARRAY", "DocFlavor.CHAR_ARRAY", "DocFlavor.INPUT_STREAM", "DocFlavor.READER", "DocFlavor.SERVICE_FORMATTED", "DocFlavor.STRING", "DocFlavor.URL", "DocPrintJob", "Document", "Document", "DocumentBuilder", "DocumentBuilderFactory", "Documented", "DocumentEvent", "DocumentEvent", "DocumentEvent.ElementChange", "DocumentEvent.EventType", "DocumentFilter", "DocumentFilter.FilterBypass", "DocumentFragment", "DocumentHandler", "DocumentListener", "DocumentName", "DocumentParser", "DocumentType", "DomainCombiner", "DomainManager", "DomainManagerOperations", "DOMConfiguration", "DOMCryptoContext", "DOMError", "DOMErrorHandler", "DOMException", "DomHandler", "DOMImplementation", "DOMImplementationList", "DOMImplementationLS", "DOMImplementationRegistry", "DOMImplementationSource", "DOMLocator", "DOMLocator", "DOMResult", "DOMSignContext", "DOMSource", "DOMStringList", "DOMStructure", "DOMURIReference", "DOMValidateContext", "Double", "DoubleBuffer", "DoubleHolder", "DoubleSeqHelper", "DoubleSeqHolder", "DragGestureEvent", "DragGestureListener", "DragGestureRecognizer", "DragSource", "DragSourceAdapter", "DragSourceContext", "DragSourceDragEvent", "DragSourceDropEvent", "DragSourceEvent", "DragSourceListener", "DragSourceMotionListener", "Driver", "DriverManager", "DriverPropertyInfo", "DropMode", "DropTarget", "DropTarget.DropTargetAutoScroller", "DropTargetAdapter", "DropTargetContext", "DropTargetDragEvent", "DropTargetDropEvent", "DropTargetEvent", "DropTargetListener", "DSAKey", "DSAKeyPairGenerator", "DSAParameterSpec", "DSAParams", "DSAPrivateKey", "DSAPrivateKeySpec", "DSAPublicKey", "DSAPublicKeySpec", "DTD", "DTD", "DTDConstants", "DTDHandler", "DuplicateFormatFlagsException", "DuplicateName", "DuplicateNameHelper", "Duration", "DynamicImplementation", "DynamicImplementation", "DynamicMBean", "DynAny", "DynAny", "DynAnyFactory", "DynAnyFactoryHelper", "DynAnyFactoryOperations", "DynAnyHelper", "DynAnyOperations", "DynAnySeqHelper", "DynArray", "DynArray", "DynArrayHelper", "DynArrayOperations", "DynEnum", "DynEnum", "DynEnumHelper", "DynEnumOperations", "DynFixed", "DynFixed", "DynFixedHelper", "DynFixedOperations", "DynSequence", "DynSequence", "DynSequenceHelper", "DynSequenceOperations", "DynStruct", "DynStruct", "DynStructHelper", "DynStructOperations", "DynUnion", "DynUnion", "DynUnionHelper", "DynUnionOperations", "DynValue", "DynValue", "DynValueBox", "DynValueBoxOperations", "DynValueCommon", "DynValueCommonOperations", "DynValueHelper", "DynValueOperations", "ECField", "ECFieldF2m", "ECFieldFp", "ECGenParameterSpec", "ECKey", "ECParameterSpec", "ECPoint", "ECPrivateKey", "ECPrivateKeySpec", "ECPublicKey", "ECPublicKeySpec", "EditorKit", "Element", "Element", "Element", "Element", "Element", "ElementFilter", "ElementIterator", "ElementKind", "ElementKindVisitor6", "Elements", "ElementScanner6", "ElementType", "ElementVisitor", "Ellipse2D", "Ellipse2D.Double", "Ellipse2D.Float", "EllipticCurve", "EmptyBorder", "EmptyStackException", "EncodedKeySpec", "Encoder", "Encoding", "ENCODING_CDR_ENCAPS", "EncryptedPrivateKeyInfo", "EndDocument", "EndElement", "Endpoint", "EndpointReference", "Entity", "Entity", "EntityDeclaration", "EntityReference", "EntityReference", "EntityResolver", "EntityResolver2", "Enum", "EnumConstantNotPresentException", "EnumControl", "EnumControl.Type", "Enumeration", "EnumMap", "EnumSet", "EnumSyntax", "Environment", "EOFException", "Error", "ErrorHandler", "ErrorListener", "ErrorManager", "ErrorType", "EtchedBorder", "Event", "Event", "EventContext", "EventDirContext", "EventException", "EventFilter", "EventHandler", "EventListener", "EventListener", "EventListenerList", "EventListenerProxy", "EventObject", "EventQueue", "EventReaderDelegate", "EventSetDescriptor", "EventTarget", "ExcC14NParameterSpec", "Exception", "ExceptionDetailMessage", "ExceptionInInitializerError", "ExceptionList", "ExceptionListener", "Exchanger", "ExecutableElement", "ExecutableType", "ExecutionException", "Executor", "ExecutorCompletionService", "Executors", "ExecutorService", "ExemptionMechanism", "ExemptionMechanismException", "ExemptionMechanismSpi", "ExpandVetoException", "ExportException", "Expression", "ExtendedRequest", "ExtendedResponse", "Externalizable", "FactoryConfigurationError", "FactoryConfigurationError", "FailedLoginException", "FaultAction", "FeatureDescriptor", "Fidelity", "Field", "FieldNameHelper", "FieldNameHelper", "FieldPosition", "FieldView", "File", "FileCacheImageInputStream", "FileCacheImageOutputStream", "FileChannel", "FileChannel.MapMode", "FileChooserUI", "FileDataSource", "FileDescriptor", "FileDialog", "FileFilter", "FileFilter", "FileHandler", "FileImageInputStream", "FileImageOutputStream", "FileInputStream", "FileLock", "FileLockInterruptionException", "FileNameExtensionFilter", "FilenameFilter", "FileNameMap", "FileNotFoundException", "FileObject", "FileOutputStream", "FilePermission", "Filer", "FileReader", "FilerException", "FileSystemView", "FileTypeMap", "FileView", "FileWriter", "Filter", "FilteredImageSource", "FilteredRowSet", "FilterInputStream", "FilterOutputStream", "FilterReader", "FilterWriter", "Finishings", "FixedHeightLayoutCache", "FixedHolder", "FlatteningPathIterator", "FlavorEvent", "FlavorException", "FlavorListener", "FlavorMap", "FlavorTable", "Float", "FloatBuffer", "FloatControl", "FloatControl.Type", "FloatHolder", "FloatSeqHelper", "FloatSeqHolder", "FlowLayout", "FlowView", "FlowView.FlowStrategy", "Flushable", "FocusAdapter", "FocusEvent", "FocusListener", "FocusManager", "FocusTraversalPolicy", "Font", "FontFormatException", "FontMetrics", "FontRenderContext", "FontUIResource", "Format", "Format.Field", "FormatConversionProvider", "FormatFlagsConversionMismatchException", "FormatMismatch", "FormatMismatchHelper", "Formattable", "FormattableFlags", "Formatter", "Formatter", "Formatter.BigDecimalLayoutForm", "FormatterClosedException", "FormSubmitEvent", "FormSubmitEvent.MethodType", "FormView", "ForwardingFileObject", "ForwardingJavaFileManager", "ForwardingJavaFileObject", "ForwardRequest", "ForwardRequest", "ForwardRequestHelper", "ForwardRequestHelper", "Frame", "FREE_MEM", "Future", "FutureTask", "GapContent", "GarbageCollectorMXBean", "GatheringByteChannel", "GaugeMonitor", "GaugeMonitorMBean", "GeneralPath", "GeneralSecurityException", "Generated", "GenericArrayType", "GenericDeclaration", "GenericSignatureFormatError", "GlyphJustificationInfo", "GlyphMetrics", "GlyphVector", "GlyphView", "GlyphView.GlyphPainter", "GradientPaint", "GraphicAttribute", "Graphics", "Graphics2D", "GraphicsConfigTemplate", "GraphicsConfiguration", "GraphicsDevice", "GraphicsEnvironment", "GrayFilter", "GregorianCalendar", "GridBagConstraints", "GridBagLayout", "GridBagLayoutInfo", "GridLayout", "Group", "GroupLayout", "GroupLayout.Alignment", "GSSContext", "GSSCredential", "GSSException", "GSSManager", "GSSName", "Guard", "GuardedObject", "GZIPInputStream", "GZIPOutputStream", "Handler", "Handler", "HandlerBase", "HandlerChain", "HandlerResolver", "HandshakeCompletedEvent", "HandshakeCompletedListener", "HasControls", "HashAttributeSet", "HashDocAttributeSet", "HashMap", "HashPrintJobAttributeSet", "HashPrintRequestAttributeSet", "HashPrintServiceAttributeSet", "HashSet", "Hashtable", "HeadlessException", "HexBinaryAdapter", "HierarchyBoundsAdapter", "HierarchyBoundsListener", "HierarchyEvent", "HierarchyListener", "Highlighter", "Highlighter.Highlight", "Highlighter.HighlightPainter", "HMACParameterSpec", "Holder", "HOLDING", "HostnameVerifier", "HTML", "HTML.Attribute", "HTML.Tag", "HTML.UnknownTag", "HTMLDocument", "HTMLDocument.Iterator", "HTMLEditorKit", "HTMLEditorKit.HTMLFactory", "HTMLEditorKit.HTMLTextAction", "HTMLEditorKit.InsertHTMLTextAction", "HTMLEditorKit.LinkController", "HTMLEditorKit.Parser", "HTMLEditorKit.ParserCallback", "HTMLFrameHyperlinkEvent", "HTMLWriter", "HTTPBinding", "HttpCookie", "HTTPException", "HttpRetryException", "HttpsURLConnection", "HttpURLConnection", "HyperlinkEvent", "HyperlinkEvent.EventType", "HyperlinkListener", "ICC_ColorSpace", "ICC_Profile", "ICC_ProfileGray", "ICC_ProfileRGB", "Icon", "IconUIResource", "IconView", "ID_ASSIGNMENT_POLICY_ID", "ID_UNIQUENESS_POLICY_ID", "IdAssignmentPolicy", "IdAssignmentPolicyOperations", "IdAssignmentPolicyValue", "IdentifierHelper", "Identity", "IdentityHashMap", "IdentityScope", "IDLEntity", "IDLType", "IDLTypeHelper", "IDLTypeOperations", "IDN", "IdUniquenessPolicy", "IdUniquenessPolicyOperations", "IdUniquenessPolicyValue", "IIOByteBuffer", "IIOException", "IIOImage", "IIOInvalidTreeException", "IIOMetadata", "IIOMetadataController", "IIOMetadataFormat", "IIOMetadataFormatImpl", "IIOMetadataNode", "IIOParam", "IIOParamController", "IIOReadProgressListener", "IIOReadUpdateListener", "IIOReadWarningListener", "IIORegistry", "IIOServiceProvider", "IIOWriteProgressListener", "IIOWriteWarningListener", "IllegalAccessError", "IllegalAccessException", "IllegalArgumentException", "IllegalBlockingModeException", "IllegalBlockSizeException", "IllegalCharsetNameException", "IllegalClassFormatException", "IllegalComponentStateException", "IllegalFormatCodePointException", "IllegalFormatConversionException", "IllegalFormatException", "IllegalFormatFlagsException", "IllegalFormatPrecisionException", "IllegalFormatWidthException", "IllegalMonitorStateException", "IllegalPathStateException", "IllegalSelectorException", "IllegalStateException", "IllegalThreadStateException", "Image", "ImageCapabilities", "ImageConsumer", "ImageFilter", "ImageGraphicAttribute", "ImageIcon", "ImageInputStream", "ImageInputStreamImpl", "ImageInputStreamSpi", "ImageIO", "ImageObserver", "ImageOutputStream", "ImageOutputStreamImpl", "ImageOutputStreamSpi", "ImageProducer", "ImageReader", "ImageReaderSpi", "ImageReaderWriterSpi", "ImageReadParam", "ImageTranscoder", "ImageTranscoderSpi", "ImageTypeSpecifier", "ImageView", "ImageWriteParam", "ImageWriter", "ImageWriterSpi", "ImagingOpException", "ImmutableDescriptor", "IMP_LIMIT", "IMPLICIT_ACTIVATION_POLICY_ID", "ImplicitActivationPolicy", "ImplicitActivationPolicyOperations", "ImplicitActivationPolicyValue", "INACTIVE", "IncompatibleClassChangeError", "IncompleteAnnotationException", "InconsistentTypeCode", "InconsistentTypeCode", "InconsistentTypeCodeHelper", "IndexColorModel", "IndexedPropertyChangeEvent", "IndexedPropertyDescriptor", "IndexOutOfBoundsException", "IndirectionException", "Inet4Address", "Inet6Address", "InetAddress", "InetSocketAddress", "Inflater", "InflaterInputStream", "InflaterOutputStream", "InheritableThreadLocal", "Inherited", "InitialContext", "InitialContextFactory", "InitialContextFactoryBuilder", "InitialDirContext", "INITIALIZE", "InitialLdapContext", "InitParam", "InlineView", "InputContext", "InputEvent", "InputMap", "InputMapUIResource", "InputMethod", "InputMethodContext", "InputMethodDescriptor", "InputMethodEvent", "InputMethodHighlight", "InputMethodListener", "InputMethodRequests", "InputMismatchException", "InputSource", "InputStream", "InputStream", "InputStream", "InputStreamReader", "InputSubset", "InputVerifier", "Insets", "InsetsUIResource", "InstanceAlreadyExistsException", "InstanceNotFoundException", "InstantiationError", "InstantiationException", "Instrument", "Instrumentation", "InsufficientResourcesException", "IntBuffer", "Integer", "IntegerSyntax", "Interceptor", "InterceptorOperations", "InterfaceAddress", "INTERNAL", "InternalError", "InternalFrameAdapter", "InternalFrameEvent", "InternalFrameFocusTraversalPolicy", "InternalFrameListener", "InternalFrameUI", "InternationalFormatter", "InterruptedException", "InterruptedIOException", "InterruptedNamingException", "InterruptibleChannel", "INTF_REPOS", "IntHolder", "IntrospectionException", "IntrospectionException", "Introspector", "INV_FLAG", "INV_IDENT", "INV_OBJREF", "INV_POLICY", "Invalid", "INVALID_ACTIVITY", "INVALID_TRANSACTION", "InvalidActivityException", "InvalidAddress", "InvalidAddressHelper", "InvalidAddressHolder", "InvalidAlgorithmParameterException", "InvalidApplicationException", "InvalidAttributeIdentifierException", "InvalidAttributesException", "InvalidAttributeValueException", "InvalidAttributeValueException", "InvalidClassException", "InvalidDnDOperationException", "InvalidKeyException", "InvalidKeyException", "InvalidKeySpecException", "InvalidMarkException", "InvalidMidiDataException", "InvalidName", "InvalidName", "InvalidName", "InvalidNameException", "InvalidNameHelper", "InvalidNameHelper", "InvalidNameHolder", "InvalidObjectException", "InvalidOpenTypeException", "InvalidParameterException", "InvalidParameterSpecException", "InvalidPolicy", "InvalidPolicyHelper", "InvalidPreferencesFormatException", "InvalidPropertiesFormatException", "InvalidRelationIdException", "InvalidRelationServiceException", "InvalidRelationTypeException", "InvalidRoleInfoException", "InvalidRoleValueException", "InvalidSearchControlsException", "InvalidSearchFilterException", "InvalidSeq", "InvalidSlot", "InvalidSlotHelper", "InvalidTargetObjectTypeException", "InvalidTransactionException", "InvalidTypeForEncoding", "InvalidTypeForEncodingHelper", "InvalidValue", "InvalidValue", "InvalidValueHelper", "Invocable", "InvocationEvent", "InvocationHandler", "InvocationTargetException", "InvokeHandler", "IOError", "IOException", "IOR", "IORHelper", "IORHolder", "IORInfo", "IORInfoOperations", "IORInterceptor", "IORInterceptor_3_0", "IORInterceptor_3_0Helper", "IORInterceptor_3_0Holder", "IORInterceptor_3_0Operations", "IORInterceptorOperations", "IRObject", "IRObjectOperations", "IstringHelper", "ItemEvent", "ItemListener", "ItemSelectable", "Iterable", "Iterator", "IvParameterSpec", "JApplet", "JarEntry", "JarException", "JarFile", "JarInputStream", "JarOutputStream", "JarURLConnection", "JavaCompiler", "JavaCompiler.CompilationTask", "JavaFileManager", "JavaFileManager.Location", "JavaFileObject", "JavaFileObject.Kind", "JAXB", "JAXBContext", "JAXBElement", "JAXBElement.GlobalScope", "JAXBException", "JAXBIntrospector", "JAXBResult", "JAXBSource", "JButton", "JCheckBox", "JCheckBoxMenuItem", "JColorChooser", "JComboBox", "JComboBox.KeySelectionManager", "JComponent", "JdbcRowSet", "JDesktopPane", "JDialog", "JEditorPane", "JFileChooser", "JFormattedTextField", "JFormattedTextField.AbstractFormatter", "JFormattedTextField.AbstractFormatterFactory", "JFrame", "JInternalFrame", "JInternalFrame.JDesktopIcon", "JLabel", "JLayeredPane", "JList", "JList.DropLocation", "JMenu", "JMenuBar", "JMenuItem", "JMException", "JMRuntimeException", "JMX", "JMXAddressable", "JMXAuthenticator", "JMXConnectionNotification", "JMXConnector", "JMXConnectorFactory", "JMXConnectorProvider", "JMXConnectorServer", "JMXConnectorServerFactory", "JMXConnectorServerMBean", "JMXConnectorServerProvider", "JMXPrincipal", "JMXProviderException", "JMXServerErrorException", "JMXServiceURL", "JobAttributes", "JobAttributes.DefaultSelectionType", "JobAttributes.DestinationType", "JobAttributes.DialogType", "JobAttributes.MultipleDocumentHandlingType", "JobAttributes.SidesType", "JobHoldUntil", "JobImpressions", "JobImpressionsCompleted", "JobImpressionsSupported", "JobKOctets", "JobKOctetsProcessed", "JobKOctetsSupported", "JobMediaSheets", "JobMediaSheetsCompleted", "JobMediaSheetsSupported", "JobMessageFromOperator", "JobName", "JobOriginatingUserName", "JobPriority", "JobPrioritySupported", "JobSheets", "JobState", "JobStateReason", "JobStateReasons", "Joinable", "JoinRowSet", "JOptionPane", "JPanel", "JPasswordField", "JPEGHuffmanTable", "JPEGImageReadParam", "JPEGImageWriteParam", "JPEGQTable", "JPopupMenu", "JPopupMenu.Separator", "JProgressBar", "JRadioButton", "JRadioButtonMenuItem", "JRootPane", "JScrollBar", "JScrollPane", "JSeparator", "JSlider", "JSpinner", "JSpinner.DateEditor", "JSpinner.DefaultEditor", "JSpinner.ListEditor", "JSpinner.NumberEditor", "JSplitPane", "JTabbedPane", "JTable", "JTable.DropLocation", "JTable.PrintMode", "JTableHeader", "JTextArea", "JTextComponent", "JTextComponent.DropLocation", "JTextComponent.KeyBinding", "JTextField", "JTextPane", "JToggleButton", "JToggleButton.ToggleButtonModel", "JToolBar", "JToolBar.Separator", "JToolTip", "JTree", "JTree.DropLocation", "JTree.DynamicUtilTreeNode", "JTree.EmptySelectionModel", "JViewport", "JWindow", "KerberosKey", "KerberosPrincipal", "KerberosTicket", "Kernel", "Key", "KeyAdapter", "KeyAgreement", "KeyAgreementSpi", "KeyAlreadyExistsException", "KeyboardFocusManager", "KeyEvent", "KeyEventDispatcher", "KeyEventPostProcessor", "KeyException", "KeyFactory", "KeyFactorySpi", "KeyGenerator", "KeyGeneratorSpi", "KeyInfo", "KeyInfoFactory", "KeyListener", "KeyManagementException", "KeyManager", "KeyManagerFactory", "KeyManagerFactorySpi", "Keymap", "KeyName", "KeyPair", "KeyPairGenerator", "KeyPairGeneratorSpi", "KeyRep", "KeyRep.Type", "KeySelector", "KeySelector.Purpose", "KeySelectorException", "KeySelectorResult", "KeySpec", "KeyStore", "KeyStore.Builder", "KeyStore.CallbackHandlerProtection", "KeyStore.Entry", "KeyStore.LoadStoreParameter", "KeyStore.PasswordProtection", "KeyStore.PrivateKeyEntry", "KeyStore.ProtectionParameter", "KeyStore.SecretKeyEntry", "KeyStore.TrustedCertificateEntry", "KeyStoreBuilderParameters", "KeyStoreException", "KeyStoreSpi", "KeyStroke", "KeyValue", "Label", "LabelUI", "LabelView", "LanguageCallback", "LastOwnerException", "LayeredHighlighter", "LayeredHighlighter.LayerPainter", "LayoutFocusTraversalPolicy", "LayoutManager", "LayoutManager2", "LayoutPath", "LayoutQueue", "LayoutStyle", "LayoutStyle.ComponentPlacement", "LDAPCertStoreParameters", "LdapContext", "LdapName", "LdapReferralException", "Lease", "Level", "LexicalHandler", "LIFESPAN_POLICY_ID", "LifespanPolicy", "LifespanPolicyOperations", "LifespanPolicyValue", "LimitExceededException", "Line", "Line.Info", "Line2D", "Line2D.Double", "Line2D.Float", "LinearGradientPaint", "LineBorder", "LineBreakMeasurer", "LineEvent", "LineEvent.Type", "LineListener", "LineMetrics", "LineNumberInputStream", "LineNumberReader", "LineUnavailableException", "LinkageError", "LinkedBlockingDeque", "LinkedBlockingQueue", "LinkedHashMap", "LinkedHashSet", "LinkedList", "LinkException", "LinkLoopException", "LinkRef", "List", "List", "ListCellRenderer", "ListDataEvent", "ListDataListener", "ListenerNotFoundException", "ListIterator", "ListModel", "ListResourceBundle", "ListSelectionEvent", "ListSelectionListener", "ListSelectionModel", "ListUI", "ListView", "LoaderHandler", "Locale", "LocaleNameProvider", "LocaleServiceProvider", "LocalObject", "LocateRegistry", "Location", "LOCATION_FORWARD", "Locator", "Locator2", "Locator2Impl", "LocatorImpl", "Lock", "LockInfo", "LockSupport", "Logger", "LoggingMXBean", "LoggingPermission", "LogicalHandler", "LogicalMessage", "LogicalMessageContext", "LoginContext", "LoginException", "LoginModule", "LogManager", "LogRecord", "LogStream", "Long", "LongBuffer", "LongHolder", "LongLongSeqHelper", "LongLongSeqHolder", "LongSeqHelper", "LongSeqHolder", "LookAndFeel", "LookupOp", "LookupTable", "LSException", "LSInput", "LSLoadEvent", "LSOutput", "LSParser", "LSParserFilter", "LSProgressEvent", "LSResourceResolver", "LSSerializer", "LSSerializerFilter", "Mac", "MacSpi", "MailcapCommandMap", "MalformedInputException", "MalformedLinkException", "MalformedObjectNameException", "MalformedParameterizedTypeException", "MalformedURLException", "ManagementFactory", "ManagementPermission", "ManageReferralControl", "ManagerFactoryParameters", "Manifest", "Manifest", "Map", "Map.Entry", "MappedByteBuffer", "MARSHAL", "MarshalException", "MarshalException", "MarshalException", "MarshalledObject", "Marshaller", "Marshaller.Listener", "MaskFormatter", "Matcher", "MatchResult", "Math", "MathContext", "MatteBorder", "MBeanAttributeInfo", "MBeanConstructorInfo", "MBeanException", "MBeanFeatureInfo", "MBeanInfo", "MBeanNotificationInfo", "MBeanOperationInfo", "MBeanParameterInfo", "MBeanPermission", "MBeanRegistration", "MBeanRegistrationException", "MBeanServer", "MBeanServerBuilder", "MBeanServerConnection", "MBeanServerDelegate", "MBeanServerDelegateMBean", "MBeanServerFactory", "MBeanServerForwarder", "MBeanServerInvocationHandler", "MBeanServerNotification", "MBeanServerNotificationFilter", "MBeanServerPermission", "MBeanTrustPermission", "Media", "MediaName", "MediaPrintableArea", "MediaSize", "MediaSize.Engineering", "MediaSize.ISO", "MediaSize.JIS", "MediaSize.NA", "MediaSize.Other", "MediaSizeName", "MediaTracker", "MediaTray", "Member", "MemoryCacheImageInputStream", "MemoryCacheImageOutputStream", "MemoryHandler", "MemoryImageSource", "MemoryManagerMXBean", "MemoryMXBean", "MemoryNotificationInfo", "MemoryPoolMXBean", "MemoryType", "MemoryUsage", "Menu", "MenuBar", "MenuBarUI", "MenuComponent", "MenuContainer", "MenuDragMouseEvent", "MenuDragMouseListener", "MenuElement", "MenuEvent", "MenuItem", "MenuItemUI", "MenuKeyEvent", "MenuKeyListener", "MenuListener", "MenuSelectionManager", "MenuShortcut", "MessageContext", "MessageContext.Scope", "MessageDigest", "MessageDigestSpi", "MessageFactory", "MessageFormat", "MessageFormat.Field", "MessageProp", "Messager", "MetaEventListener", "MetalBorders", "MetalBorders.ButtonBorder", "MetalBorders.Flush3DBorder", "MetalBorders.InternalFrameBorder", "MetalBorders.MenuBarBorder", "MetalBorders.MenuItemBorder", "MetalBorders.OptionDialogBorder", "MetalBorders.PaletteBorder", "MetalBorders.PopupMenuBorder", "MetalBorders.RolloverButtonBorder", "MetalBorders.ScrollPaneBorder", "MetalBorders.TableHeaderBorder", "MetalBorders.TextFieldBorder", "MetalBorders.ToggleButtonBorder", "MetalBorders.ToolBarBorder", "MetalButtonUI", "MetalCheckBoxIcon", "MetalCheckBoxUI", "MetalComboBoxButton", "MetalComboBoxEditor", "MetalComboBoxEditor.UIResource", "MetalComboBoxIcon", "MetalComboBoxUI", "MetalDesktopIconUI", "MetalFileChooserUI", "MetalIconFactory", "MetalIconFactory.FileIcon16", "MetalIconFactory.FolderIcon16", "MetalIconFactory.PaletteCloseIcon", "MetalIconFactory.TreeControlIcon", "MetalIconFactory.TreeFolderIcon", "MetalIconFactory.TreeLeafIcon", "MetalInternalFrameTitlePane", "MetalInternalFrameUI", "MetalLabelUI", "MetalLookAndFeel", "MetalMenuBarUI", "MetalPopupMenuSeparatorUI", "MetalProgressBarUI", "MetalRadioButtonUI", "MetalRootPaneUI", "MetalScrollBarUI", "MetalScrollButton", "MetalScrollPaneUI", "MetalSeparatorUI", "MetalSliderUI", "MetalSplitPaneUI", "MetalTabbedPaneUI", "MetalTextFieldUI", "MetalTheme", "MetalToggleButtonUI", "MetalToolBarUI", "MetalToolTipUI", "MetalTreeUI", "MetaMessage", "Method", "MethodDescriptor", "MGF1ParameterSpec", "MidiChannel", "MidiDevice", "MidiDevice.Info", "MidiDeviceProvider", "MidiEvent", "MidiFileFormat", "MidiFileReader", "MidiFileWriter", "MidiMessage", "MidiSystem", "MidiUnavailableException", "MimeHeader", "MimeHeaders", "MimeType", "MimeTypeParameterList", "MimeTypeParseException", "MimeTypeParseException", "MimetypesFileTypeMap", "MinimalHTMLWriter", "MirroredTypeException", "MirroredTypesException", "MissingFormatArgumentException", "MissingFormatWidthException", "MissingResourceException", "Mixer", "Mixer.Info", "MixerProvider", "MLet", "MLetContent", "MLetMBean", "ModelMBean", "ModelMBeanAttributeInfo", "ModelMBeanConstructorInfo", "ModelMBeanInfo", "ModelMBeanInfoSupport", "ModelMBeanNotificationBroadcaster", "ModelMBeanNotificationInfo", "ModelMBeanOperationInfo", "ModificationItem", "Modifier", "Modifier", "Monitor", "MonitorInfo", "MonitorMBean", "MonitorNotification", "MonitorSettingException", "MouseAdapter", "MouseDragGestureRecognizer", "MouseEvent", "MouseEvent", "MouseInfo", "MouseInputAdapter", "MouseInputListener", "MouseListener", "MouseMotionAdapter", "MouseMotionListener", "MouseWheelEvent", "MouseWheelListener", "MTOM", "MTOMFeature", "MultiButtonUI", "MulticastSocket", "MultiColorChooserUI", "MultiComboBoxUI", "MultiDesktopIconUI", "MultiDesktopPaneUI", "MultiDoc", "MultiDocPrintJob", "MultiDocPrintService", "MultiFileChooserUI", "MultiInternalFrameUI", "MultiLabelUI", "MultiListUI", "MultiLookAndFeel", "MultiMenuBarUI", "MultiMenuItemUI", "MultiOptionPaneUI", "MultiPanelUI", "MultiPixelPackedSampleModel", "MultipleComponentProfileHelper", "MultipleComponentProfileHolder", "MultipleDocumentHandling", "MultipleGradientPaint", "MultipleGradientPaint.ColorSpaceType", "MultipleGradientPaint.CycleMethod", "MultipleMaster", "MultiPopupMenuUI", "MultiProgressBarUI", "MultiRootPaneUI", "MultiScrollBarUI", "MultiScrollPaneUI", "MultiSeparatorUI", "MultiSliderUI", "MultiSpinnerUI", "MultiSplitPaneUI", "MultiTabbedPaneUI", "MultiTableHeaderUI", "MultiTableUI", "MultiTextUI", "MultiToolBarUI", "MultiToolTipUI", "MultiTreeUI", "MultiViewportUI", "MutableAttributeSet", "MutableComboBoxModel", "MutableTreeNode", "MutationEvent", "MXBean", "Name", "Name", "Name", "NameAlreadyBoundException", "NameCallback", "NameClassPair", "NameComponent", "NameComponentHelper", "NameComponentHolder", "NamedNodeMap", "NamedValue", "NameDynAnyPair", "NameDynAnyPairHelper", "NameDynAnyPairSeqHelper", "NameHelper", "NameHolder", "NameList", "NameNotFoundException", "NameParser", "Namespace", "NamespaceChangeListener", "NamespaceContext", "NamespaceSupport", "NameValuePair", "NameValuePair", "NameValuePairHelper", "NameValuePairHelper", "NameValuePairSeqHelper", "Naming", "NamingContext", "NamingContextExt", "NamingContextExtHelper", "NamingContextExtHolder", "NamingContextExtOperations", "NamingContextExtPOA", "NamingContextHelper", "NamingContextHolder", "NamingContextOperations", "NamingContextPOA", "NamingEnumeration", "NamingEvent", "NamingException", "NamingExceptionEvent", "NamingListener", "NamingManager", "NamingSecurityException", "NavigableMap", "NavigableSet", "NavigationFilter", "NavigationFilter.FilterBypass", "NClob", "NegativeArraySizeException", "NestingKind", "NetPermission", "NetworkInterface", "NO_IMPLEMENT", "NO_MEMORY", "NO_PERMISSION", "NO_RESOURCES", "NO_RESPONSE", "NoClassDefFoundError", "NoConnectionPendingException", "NoContext", "NoContextHelper", "Node", "Node", "NodeChangeEvent", "NodeChangeListener", "NodeList", "NodeSetData", "NoInitialContextException", "NON_EXISTENT", "NoninvertibleTransformException", "NonReadableChannelException", "NonWritableChannelException", "NoPermissionException", "NormalizedStringAdapter", "Normalizer", "Normalizer.Form", "NoRouteToHostException", "NoServant", "NoServantHelper", "NoSuchAlgorithmException", "NoSuchAttributeException", "NoSuchElementException", "NoSuchFieldError", "NoSuchFieldException", "NoSuchMechanismException", "NoSuchMethodError", "NoSuchMethodException", "NoSuchObjectException", "NoSuchPaddingException", "NoSuchProviderException", "NotActiveException", "Notation", "NotationDeclaration", "NotBoundException", "NotCompliantMBeanException", "NotContextException", "NotEmpty", "NotEmptyHelper", "NotEmptyHolder", "NotFound", "NotFoundHelper", "NotFoundHolder", "NotFoundReason", "NotFoundReasonHelper", "NotFoundReasonHolder", "NotIdentifiableEvent", "NotIdentifiableEventImpl", "Notification", "NotificationBroadcaster", "NotificationBroadcasterSupport", "NotificationEmitter", "NotificationFilter", "NotificationFilterSupport", "NotificationListener", "NotificationResult", "NotOwnerException", "NotSerializableException", "NotYetBoundException", "NotYetConnectedException", "NoType", "NullCipher", "NullPointerException", "NullType", "Number", "NumberFormat", "NumberFormat.Field", "NumberFormatException", "NumberFormatProvider", "NumberFormatter", "NumberOfDocuments", "NumberOfInterveningJobs", "NumberUp", "NumberUpSupported", "NumericShaper", "NVList", "OAEPParameterSpec", "OBJ_ADAPTER", "Object", "Object", "OBJECT_NOT_EXIST", "ObjectAlreadyActive", "ObjectAlreadyActiveHelper", "ObjectChangeListener", "ObjectFactory", "ObjectFactoryBuilder", "ObjectHelper", "ObjectHolder", "ObjectIdHelper", "ObjectIdHelper", "ObjectImpl", "ObjectImpl", "ObjectInput", "ObjectInputStream", "ObjectInputStream.GetField", "ObjectInputValidation", "ObjectInstance", "ObjectName", "ObjectNotActive", "ObjectNotActiveHelper", "ObjectOutput", "ObjectOutputStream", "ObjectOutputStream.PutField", "ObjectReferenceFactory", "ObjectReferenceFactoryHelper", "ObjectReferenceFactoryHolder", "ObjectReferenceTemplate", "ObjectReferenceTemplateHelper", "ObjectReferenceTemplateHolder", "ObjectReferenceTemplateSeqHelper", "ObjectReferenceTemplateSeqHolder", "ObjectStreamClass", "ObjectStreamConstants", "ObjectStreamException", "ObjectStreamField", "ObjectView", "ObjID", "Observable", "Observer", "OceanTheme", "OctetSeqHelper", "OctetSeqHolder", "OctetStreamData", "Oid", "OMGVMCID", "Oneway", "OpenDataException", "OpenMBeanAttributeInfo", "OpenMBeanAttributeInfoSupport", "OpenMBeanConstructorInfo", "OpenMBeanConstructorInfoSupport", "OpenMBeanInfo", "OpenMBeanInfoSupport", "OpenMBeanOperationInfo", "OpenMBeanOperationInfoSupport", "OpenMBeanParameterInfo", "OpenMBeanParameterInfoSupport", "OpenType", "OpenType", "OperatingSystemMXBean", "Operation", "OperationNotSupportedException", "OperationsException", "Option", "OptionalDataException", "OptionChecker", "OptionPaneUI", "ORB", "ORB", "ORBIdHelper", "ORBInitializer", "ORBInitializerOperations", "ORBInitInfo", "ORBInitInfoOperations", "OrientationRequested", "OutOfMemoryError", "OutputDeviceAssigned", "OutputKeys", "OutputStream", "OutputStream", "OutputStream", "OutputStreamWriter", "OverlappingFileLockException", "OverlayLayout", "Override", "Owner", "Pack200", "Pack200.Packer", "Pack200.Unpacker", "Package", "PackageElement", "PackedColorModel", "Pageable", "PageAttributes", "PageAttributes.ColorType", "PageAttributes.MediaType", "PageAttributes.OrientationRequestedType", "PageAttributes.OriginType", "PageAttributes.PrintQualityType", "PagedResultsControl", "PagedResultsResponseControl", "PageFormat", "PageRanges", "PagesPerMinute", "PagesPerMinuteColor", "Paint", "PaintContext", "PaintEvent", "Panel", "PanelUI", "Paper", "ParagraphView", "ParagraphView", "Parameter", "ParameterBlock", "ParameterDescriptor", "ParameterizedType", "ParameterMetaData", "ParameterMode", "ParameterModeHelper", "ParameterModeHolder", "ParseConversionEvent", "ParseConversionEventImpl", "ParseException", "ParsePosition", "Parser", "Parser", "ParserAdapter", "ParserConfigurationException", "ParserDelegator", "ParserFactory", "PartialResultException", "PasswordAuthentication", "PasswordCallback", "PasswordView", "Patch", "Path2D", "Path2D.Double", "Path2D.Float", "PathIterator", "Pattern", "PatternSyntaxException", "PBEKey", "PBEKeySpec", "PBEParameterSpec", "PDLOverrideSupported", "Permission", "Permission", "PermissionCollection", "Permissions", "PERSIST_STORE", "PersistenceDelegate", "PersistentMBean", "PGPData", "PhantomReference", "Pipe", "Pipe.SinkChannel", "Pipe.SourceChannel", "PipedInputStream", "PipedOutputStream", "PipedReader", "PipedWriter", "PixelGrabber", "PixelInterleavedSampleModel", "PKCS8EncodedKeySpec", "PKIXBuilderParameters", "PKIXCertPathBuilderResult", "PKIXCertPathChecker", "PKIXCertPathValidatorResult", "PKIXParameters", "PlainDocument", "PlainView", "POA", "POAHelper", "POAManager", "POAManagerOperations", "POAOperations", "Point", "Point2D", "Point2D.Double", "Point2D.Float", "PointerInfo", "Policy", "Policy", "Policy", "Policy.Parameters", "PolicyError", "PolicyErrorCodeHelper", "PolicyErrorHelper", "PolicyErrorHolder", "PolicyFactory", "PolicyFactoryOperations", "PolicyHelper", "PolicyHolder", "PolicyListHelper", "PolicyListHolder", "PolicyNode", "PolicyOperations", "PolicyQualifierInfo", "PolicySpi", "PolicyTypeHelper", "Polygon", "PooledConnection", "Popup", "PopupFactory", "PopupMenu", "PopupMenuEvent", "PopupMenuListener", "PopupMenuUI", "Port", "Port.Info", "PortableRemoteObject", "PortableRemoteObjectDelegate", "PortInfo", "PortUnreachableException", "Position", "Position.Bias", "PostConstruct", "PreDestroy", "Predicate", "PreferenceChangeEvent", "PreferenceChangeListener", "Preferences", "PreferencesFactory", "PreparedStatement", "PresentationDirection", "PrimitiveType", "Principal", "Principal", "PrincipalHolder", "Printable", "PrintConversionEvent", "PrintConversionEventImpl", "PrinterAbortException", "PrinterException", "PrinterGraphics", "PrinterInfo", "PrinterIOException", "PrinterIsAcceptingJobs", "PrinterJob", "PrinterLocation", "PrinterMakeAndModel", "PrinterMessageFromOperator", "PrinterMoreInfo", "PrinterMoreInfoManufacturer", "PrinterName", "PrinterResolution", "PrinterState", "PrinterStateReason", "PrinterStateReasons", "PrinterURI", "PrintEvent", "PrintException", "PrintGraphics", "PrintJob", "PrintJobAdapter", "PrintJobAttribute", "PrintJobAttributeEvent", "PrintJobAttributeListener", "PrintJobAttributeSet", "PrintJobEvent", "PrintJobListener", "PrintQuality", "PrintRequestAttribute", "PrintRequestAttributeSet", "PrintService", "PrintServiceAttribute", "PrintServiceAttributeEvent", "PrintServiceAttributeListener", "PrintServiceAttributeSet", "PrintServiceLookup", "PrintStream", "PrintWriter", "PriorityBlockingQueue", "PriorityQueue", "PRIVATE_MEMBER", "PrivateClassLoader", "PrivateCredentialPermission", "PrivateKey", "PrivateMLet", "PrivilegedAction", "PrivilegedActionException", "PrivilegedExceptionAction", "Process", "ProcessBuilder", "ProcessingEnvironment", "ProcessingInstruction", "ProcessingInstruction", "Processor", "ProfileDataException", "ProfileIdHelper", "ProgressBarUI", "ProgressMonitor", "ProgressMonitorInputStream", "Properties", "PropertyChangeEvent", "PropertyChangeListener", "PropertyChangeListenerProxy", "PropertyChangeSupport", "PropertyDescriptor", "PropertyEditor", "PropertyEditorManager", "PropertyEditorSupport", "PropertyException", "PropertyPermission", "PropertyResourceBundle", "PropertyVetoException", "ProtectionDomain", "ProtocolException", "ProtocolException", "Provider", "Provider", "Provider", "Provider.Service", "ProviderException", "Proxy", "Proxy", "Proxy.Type", "ProxySelector", "PSource", "PSource.PSpecified", "PSSParameterSpec", "PUBLIC_MEMBER", "PublicKey", "PushbackInputStream", "PushbackReader", "QName", "QuadCurve2D", "QuadCurve2D.Double", "QuadCurve2D.Float", "Query", "QueryEval", "QueryExp", "Queue", "QueuedJobCount", "RadialGradientPaint", "Random", "RandomAccess", "RandomAccessFile", "Raster", "RasterFormatException", "RasterOp", "RC2ParameterSpec", "RC5ParameterSpec", "Rdn", "Readable", "ReadableByteChannel", "Reader", "ReadOnlyBufferException", "ReadWriteLock", "RealmCallback", "RealmChoiceCallback", "REBIND", "Receiver", "Rectangle", "Rectangle2D", "Rectangle2D.Double", "Rectangle2D.Float", "RectangularShape", "ReentrantLock", "ReentrantReadWriteLock", "ReentrantReadWriteLock.ReadLock", "ReentrantReadWriteLock.WriteLock", "Ref", "RefAddr", "Reference", "Reference", "Reference", "Referenceable", "ReferenceQueue", "ReferenceType", "ReferenceUriSchemesSupported", "ReferralException", "ReflectionException", "ReflectPermission", "Refreshable", "RefreshFailedException", "Region", "RegisterableService", "Registry", "RegistryHandler", "RejectedExecutionException", "RejectedExecutionHandler", "Relation", "RelationException", "RelationNotFoundException", "RelationNotification", "RelationService", "RelationServiceMBean", "RelationServiceNotRegisteredException", "RelationSupport", "RelationSupportMBean", "RelationType", "RelationTypeNotFoundException", "RelationTypeSupport", "RemarshalException", "Remote", "RemoteCall", "RemoteException", "RemoteObject", "RemoteObjectInvocationHandler", "RemoteRef", "RemoteServer", "RemoteStub", "RenderableImage", "RenderableImageOp", "RenderableImageProducer", "RenderContext", "RenderedImage", "RenderedImageFactory", "Renderer", "RenderingHints", "RenderingHints.Key", "RepaintManager", "ReplicateScaleFilter", "RepositoryIdHelper", "Request", "REQUEST_PROCESSING_POLICY_ID", "RequestInfo", "RequestInfoOperations", "RequestingUserName", "RequestProcessingPolicy", "RequestProcessingPolicyOperations", "RequestProcessingPolicyValue", "RequestWrapper", "RequiredModelMBean", "RescaleOp", "ResolutionSyntax", "Resolver", "ResolveResult", "Resource", "Resource.AuthenticationType", "ResourceBundle", "ResourceBundle.Control", "Resources", "RespectBinding", "RespectBindingFeature", "Response", "ResponseCache", "ResponseHandler", "ResponseWrapper", "Result", "ResultSet", "ResultSetMetaData", "Retention", "RetentionPolicy", "RetrievalMethod", "ReverbType", "RGBImageFilter", "RMIClassLoader", "RMIClassLoaderSpi", "RMIClientSocketFactory", "RMIConnection", "RMIConnectionImpl", "RMIConnectionImpl_Stub", "RMIConnector", "RMIConnectorServer", "RMICustomMaxStreamFormat", "RMIFailureHandler", "RMIIIOPServerImpl", "RMIJRMPServerImpl", "RMISecurityException", "RMISecurityManager", "RMIServer", "RMIServerImpl", "RMIServerImpl_Stub", "RMIServerSocketFactory", "RMISocketFactory", "Robot", "Role", "RoleInfo", "RoleInfoNotFoundException", "RoleList", "RoleNotFoundException", "RoleResult", "RoleStatus", "RoleUnresolved", "RoleUnresolvedList", "RootPaneContainer", "RootPaneUI", "RoundEnvironment", "RoundingMode", "RoundRectangle2D", "RoundRectangle2D.Double", "RoundRectangle2D.Float", "RowFilter", "RowFilter.ComparisonType", "RowFilter.Entry", "RowId", "RowIdLifetime", "RowMapper", "RowSet", "RowSetEvent", "RowSetInternal", "RowSetListener", "RowSetMetaData", "RowSetMetaDataImpl", "RowSetReader", "RowSetWarning", "RowSetWriter", "RowSorter", "RowSorter.SortKey", "RowSorterEvent", "RowSorterEvent.Type", "RowSorterListener", "RSAKey", "RSAKeyGenParameterSpec", "RSAMultiPrimePrivateCrtKey", "RSAMultiPrimePrivateCrtKeySpec", "RSAOtherPrimeInfo", "RSAPrivateCrtKey", "RSAPrivateCrtKeySpec", "RSAPrivateKey", "RSAPrivateKeySpec", "RSAPublicKey", "RSAPublicKeySpec", "RTFEditorKit", "RuleBasedCollator", "Runnable", "RunnableFuture", "RunnableScheduledFuture", "Runtime", "RunTime", "RuntimeErrorException", "RuntimeException", "RuntimeMBeanException", "RuntimeMXBean", "RunTimeOperations", "RuntimeOperationsException", "RuntimePermission", "SAAJMetaFactory", "SAAJResult", "SampleModel", "Sasl", "SaslClient", "SaslClientFactory", "SaslException", "SaslServer", "SaslServerFactory", "Savepoint", "SAXException", "SAXNotRecognizedException", "SAXNotSupportedException", "SAXParseException", "SAXParser", "SAXParserFactory", "SAXResult", "SAXSource", "SAXTransformerFactory", "Scanner", "ScatteringByteChannel", "ScheduledExecutorService", "ScheduledFuture", "ScheduledThreadPoolExecutor", "Schema", "SchemaFactory", "SchemaFactoryLoader", "SchemaOutputResolver", "SchemaViolationException", "ScriptContext", "ScriptEngine", "ScriptEngineFactory", "ScriptEngineManager", "ScriptException", "Scrollable", "Scrollbar", "ScrollBarUI", "ScrollPane", "ScrollPaneAdjustable", "ScrollPaneConstants", "ScrollPaneLayout", "ScrollPaneLayout.UIResource", "ScrollPaneUI", "SealedObject", "SearchControls", "SearchResult", "SecretKey", "SecretKeyFactory", "SecretKeyFactorySpi", "SecretKeySpec", "SecureCacheResponse", "SecureClassLoader", "SecureRandom", "SecureRandomSpi", "Security", "SecurityException", "SecurityManager", "SecurityPermission", "Segment", "SelectableChannel", "SelectionKey", "Selector", "SelectorProvider", "Semaphore", "SeparatorUI", "Sequence", "SequenceInputStream", "Sequencer", "Sequencer.SyncMode", "SerialArray", "SerialBlob", "SerialClob", "SerialDatalink", "SerialException", "Serializable", "SerializablePermission", "SerialJavaObject", "SerialRef", "SerialStruct", "Servant", "SERVANT_RETENTION_POLICY_ID", "ServantActivator", "ServantActivatorHelper", "ServantActivatorOperations", "ServantActivatorPOA", "ServantAlreadyActive", "ServantAlreadyActiveHelper", "ServantLocator", "ServantLocatorHelper", "ServantLocatorOperations", "ServantLocatorPOA", "ServantManager", "ServantManagerOperations", "ServantNotActive", "ServantNotActiveHelper", "ServantObject", "ServantRetentionPolicy", "ServantRetentionPolicyOperations", "ServantRetentionPolicyValue", "ServerCloneException", "ServerError", "ServerException", "ServerIdHelper", "ServerNotActiveException", "ServerRef", "ServerRequest", "ServerRequestInfo", "ServerRequestInfoOperations", "ServerRequestInterceptor", "ServerRequestInterceptorOperations", "ServerRuntimeException", "ServerSocket", "ServerSocketChannel", "ServerSocketFactory", "Service", "Service.Mode", "ServiceConfigurationError", "ServiceContext", "ServiceContextHelper", "ServiceContextHolder", "ServiceContextListHelper", "ServiceContextListHolder", "ServiceDelegate", "ServiceDetail", "ServiceDetailHelper", "ServiceIdHelper", "ServiceInformation", "ServiceInformationHelper", "ServiceInformationHolder", "ServiceLoader", "ServiceMode", "ServiceNotFoundException", "ServicePermission", "ServiceRegistry", "ServiceRegistry.Filter", "ServiceUI", "ServiceUIFactory", "ServiceUnavailableException", "Set", "SetOfIntegerSyntax", "SetOverrideType", "SetOverrideTypeHelper", "Severity", "Shape", "ShapeGraphicAttribute", "SheetCollate", "Short", "ShortBuffer", "ShortBufferException", "ShortHolder", "ShortLookupTable", "ShortMessage", "ShortSeqHelper", "ShortSeqHolder", "Sides", "Signature", "SignatureException", "SignatureMethod", "SignatureMethodParameterSpec", "SignatureProperties", "SignatureProperty", "SignatureSpi", "SignedInfo", "SignedObject", "Signer", "SimpleAnnotationValueVisitor6", "SimpleAttributeSet", "SimpleBeanInfo", "SimpleBindings", "SimpleDateFormat", "SimpleDoc", "SimpleElementVisitor6", "SimpleFormatter", "SimpleJavaFileObject", "SimpleScriptContext", "SimpleTimeZone", "SimpleType", "SimpleTypeVisitor6", "SinglePixelPackedSampleModel", "SingleSelectionModel", "Size2DSyntax", "SizeLimitExceededException", "SizeRequirements", "SizeSequence", "Skeleton", "SkeletonMismatchException", "SkeletonNotFoundException", "SliderUI", "SOAPBinding", "SOAPBinding", "SOAPBinding.ParameterStyle", "SOAPBinding.Style", "SOAPBinding.Use", "SOAPBody", "SOAPBodyElement", "SOAPConnection", "SOAPConnectionFactory", "SOAPConstants", "SOAPElement", "SOAPElementFactory", "SOAPEnvelope", "SOAPException", "SOAPFactory", "SOAPFault", "SOAPFaultElement", "SOAPFaultException", "SOAPHandler", "SOAPHeader", "SOAPHeaderElement", "SOAPMessage", "SOAPMessageContext", "SOAPMessageHandler", "SOAPMessageHandlers", "SOAPPart", "Socket", "SocketAddress", "SocketChannel", "SocketException", "SocketFactory", "SocketHandler", "SocketImpl", "SocketImplFactory", "SocketOptions", "SocketPermission", "SocketSecurityException", "SocketTimeoutException", "SoftBevelBorder", "SoftReference", "SortControl", "SortedMap", "SortedSet", "SortingFocusTraversalPolicy", "SortKey", "SortOrder", "SortResponseControl", "Soundbank", "SoundbankReader", "SoundbankResource", "Source", "SourceDataLine", "SourceLocator", "SourceVersion", "SpinnerDateModel", "SpinnerListModel", "SpinnerModel", "SpinnerNumberModel", "SpinnerUI", "SplashScreen", "SplitPaneUI", "Spring", "SpringLayout", "SpringLayout.Constraints", "SQLClientInfoException", "SQLData", "SQLDataException", "SQLException", "SQLFeatureNotSupportedException", "SQLInput", "SQLInputImpl", "SQLIntegrityConstraintViolationException", "SQLInvalidAuthorizationSpecException", "SQLNonTransientConnectionException", "SQLNonTransientException", "SQLOutput", "SQLOutputImpl", "SQLPermission", "SQLRecoverableException", "SQLSyntaxErrorException", "SQLTimeoutException", "SQLTransactionRollbackException", "SQLTransientConnectionException", "SQLTransientException", "SQLWarning", "SQLXML", "SSLContext", "SSLContextSpi", "SSLEngine", "SSLEngineResult", "SSLEngineResult.HandshakeStatus", "SSLEngineResult.Status", "SSLException", "SSLHandshakeException", "SSLKeyException", "SSLParameters", "SSLPeerUnverifiedException", "SSLPermission", "SSLProtocolException", "SslRMIClientSocketFactory", "SslRMIServerSocketFactory", "SSLServerSocket", "SSLServerSocketFactory", "SSLSession", "SSLSessionBindingEvent", "SSLSessionBindingListener", "SSLSessionContext", "SSLSocket", "SSLSocketFactory", "Stack", "StackOverflowError", "StackTraceElement", "StandardEmitterMBean", "StandardJavaFileManager", "StandardLocation", "StandardMBean", "StartDocument", "StartElement", "StartTlsRequest", "StartTlsResponse", "State", "StateEdit", "StateEditable", "StateFactory", "Statement", "Statement", "StatementEvent", "StatementEventListener", "StAXResult", "StAXSource", "Streamable", "StreamableValue", "StreamCorruptedException", "StreamFilter", "StreamHandler", "StreamPrintService", "StreamPrintServiceFactory", "StreamReaderDelegate", "StreamResult", "StreamSource", "StreamTokenizer", "StrictMath", "String", "StringBuffer", "StringBufferInputStream", "StringBuilder", "StringCharacterIterator", "StringContent", "StringHolder", "StringIndexOutOfBoundsException", "StringMonitor", "StringMonitorMBean", "StringNameHelper", "StringReader", "StringRefAddr", "StringSelection", "StringSeqHelper", "StringSeqHolder", "StringTokenizer", "StringValueExp", "StringValueHelper", "StringWriter", "Stroke", "Struct", "StructMember", "StructMemberHelper", "Stub", "StubDelegate", "StubNotFoundException", "Style", "StyleConstants", "StyleConstants.CharacterConstants", "StyleConstants.ColorConstants", "StyleConstants.FontConstants", "StyleConstants.ParagraphConstants", "StyleContext", "StyledDocument", "StyledEditorKit", "StyledEditorKit.AlignmentAction", "StyledEditorKit.BoldAction", "StyledEditorKit.FontFamilyAction", "StyledEditorKit.FontSizeAction", "StyledEditorKit.ForegroundAction", "StyledEditorKit.ItalicAction", "StyledEditorKit.StyledTextAction", "StyledEditorKit.UnderlineAction", "StyleSheet", "StyleSheet.BoxPainter", "StyleSheet.ListPainter", "Subject", "SubjectDelegationPermission", "SubjectDomainCombiner", "SUCCESSFUL", "SupportedAnnotationTypes", "SupportedOptions", "SupportedSourceVersion", "SupportedValuesAttribute", "SuppressWarnings", "SwingConstants", "SwingPropertyChangeSupport", "SwingUtilities", "SwingWorker", "SwingWorker.StateValue", "SYNC_WITH_TRANSPORT", "SyncFactory", "SyncFactoryException", "SyncFailedException", "SynchronousQueue", "SyncProvider", "SyncProviderException", "SyncResolver", "SyncScopeHelper", "SynthConstants", "SynthContext", "Synthesizer", "SynthGraphicsUtils", "SynthLookAndFeel", "SynthPainter", "SynthStyle", "SynthStyleFactory", "SysexMessage", "System", "SYSTEM_EXCEPTION", "SystemColor", "SystemException", "SystemFlavorMap", "SystemTray", "TabableView", "TabbedPaneUI", "TabExpander", "TableCellEditor", "TableCellRenderer", "TableColumn", "TableColumnModel", "TableColumnModelEvent", "TableColumnModelListener", "TableHeaderUI", "TableModel", "TableModelEvent", "TableModelListener", "TableRowSorter", "TableStringConverter", "TableUI", "TableView", "TabSet", "TabStop", "TabularData", "TabularDataSupport", "TabularType", "TAG_ALTERNATE_IIOP_ADDRESS", "TAG_CODE_SETS", "TAG_INTERNET_IOP", "TAG_JAVA_CODEBASE", "TAG_MULTIPLE_COMPONENTS", "TAG_ORB_TYPE", "TAG_POLICIES", "TAG_RMI_CUSTOM_MAX_STREAM_FORMAT", "TagElement", "TaggedComponent", "TaggedComponentHelper", "TaggedComponentHolder", "TaggedProfile", "TaggedProfileHelper", "TaggedProfileHolder", "Target", "TargetDataLine", "TargetedNotification", "TCKind", "Templates", "TemplatesHandler", "Text", "Text", "TextAction", "TextArea", "TextAttribute", "TextComponent", "TextEvent", "TextField", "TextHitInfo", "TextInputCallback", "TextLayout", "TextLayout.CaretPolicy", "TextListener", "TextMeasurer", "TextOutputCallback", "TextSyntax", "TextUI", "TexturePaint", "Thread", "Thread.State", "Thread.UncaughtExceptionHandler", "THREAD_POLICY_ID", "ThreadDeath", "ThreadFactory", "ThreadGroup", "ThreadInfo", "ThreadLocal", "ThreadMXBean", "ThreadPolicy", "ThreadPolicyOperations", "ThreadPolicyValue", "ThreadPoolExecutor", "ThreadPoolExecutor.AbortPolicy", "ThreadPoolExecutor.CallerRunsPolicy", "ThreadPoolExecutor.DiscardOldestPolicy", "ThreadPoolExecutor.DiscardPolicy", "Throwable", "Tie", "TileObserver", "Time", "TimeLimitExceededException", "TIMEOUT", "TimeoutException", "Timer", "Timer", "Timer", "TimerMBean", "TimerNotification", "TimerTask", "Timestamp", "Timestamp", "TimeUnit", "TimeZone", "TimeZoneNameProvider", "TitledBorder", "Tool", "ToolBarUI", "Toolkit", "ToolProvider", "ToolTipManager", "ToolTipUI", "TooManyListenersException", "Track", "TRANSACTION_MODE", "TRANSACTION_REQUIRED", "TRANSACTION_ROLLEDBACK", "TRANSACTION_UNAVAILABLE", "TransactionalWriter", "TransactionRequiredException", "TransactionRolledbackException", "TransactionService", "Transferable", "TransferHandler", "TransferHandler.DropLocation", "TransferHandler.TransferSupport", "Transform", "TransformAttribute", "Transformer", "TransformerConfigurationException", "TransformerException", "TransformerFactory", "TransformerFactoryConfigurationError", "TransformerHandler", "TransformException", "TransformParameterSpec", "TransformService", "TRANSIENT", "Transmitter", "Transparency", "TRANSPORT_RETRY", "TrayIcon", "TrayIcon.MessageType", "TreeCellEditor", "TreeCellRenderer", "TreeExpansionEvent", "TreeExpansionListener", "TreeMap", "TreeModel", "TreeModelEvent", "TreeModelListener", "TreeNode", "TreePath", "TreeSelectionEvent", "TreeSelectionListener", "TreeSelectionModel", "TreeSet", "TreeUI", "TreeWillExpandListener", "TrustAnchor", "TrustManager", "TrustManagerFactory", "TrustManagerFactorySpi", "Type", "TypeCode", "TypeCodeHolder", "TypeConstraintException", "TypeElement", "TypeInfo", "TypeInfoProvider", "TypeKind", "TypeKindVisitor6", "TypeMirror", "TypeMismatch", "TypeMismatch", "TypeMismatch", "TypeMismatchHelper", "TypeMismatchHelper", "TypeNotPresentException", "TypeParameterElement", "Types", "Types", "TypeVariable", "TypeVariable", "TypeVisitor", "UID", "UIDefaults", "UIDefaults.ActiveValue", "UIDefaults.LazyInputMap", "UIDefaults.LazyValue", "UIDefaults.ProxyLazyValue", "UIEvent", "UIManager", "UIManager.LookAndFeelInfo", "UIResource", "ULongLongSeqHelper", "ULongLongSeqHolder", "ULongSeqHelper", "ULongSeqHolder", "UndeclaredThrowableException", "UndoableEdit", "UndoableEditEvent", "UndoableEditListener", "UndoableEditSupport", "UndoManager", "UnexpectedException", "UnicastRemoteObject", "UnionMember", "UnionMemberHelper", "UNKNOWN", "UNKNOWN", "UnknownAnnotationValueException", "UnknownElementException", "UnknownEncoding", "UnknownEncodingHelper", "UnknownError", "UnknownException", "UnknownFormatConversionException", "UnknownFormatFlagsException", "UnknownGroupException", "UnknownHostException", "UnknownHostException", "UnknownObjectException", "UnknownServiceException", "UnknownTypeException", "UnknownUserException", "UnknownUserExceptionHelper", "UnknownUserExceptionHolder", "UnmappableCharacterException", "UnmarshalException", "UnmarshalException", "Unmarshaller", "Unmarshaller.Listener", "UnmarshallerHandler", "UnmodifiableClassException", "UnmodifiableSetException", "UnrecoverableEntryException", "UnrecoverableKeyException", "Unreferenced", "UnresolvedAddressException", "UnresolvedPermission", "UnsatisfiedLinkError", "UnsolicitedNotification", "UnsolicitedNotificationEvent", "UnsolicitedNotificationListener", "UNSUPPORTED_POLICY", "UNSUPPORTED_POLICY_VALUE", "UnsupportedAddressTypeException", "UnsupportedAudioFileException", "UnsupportedCallbackException", "UnsupportedCharsetException", "UnsupportedClassVersionError", "UnsupportedDataTypeException", "UnsupportedEncodingException", "UnsupportedFlavorException", "UnsupportedLookAndFeelException", "UnsupportedOperationException", "URI", "URIDereferencer", "URIException", "URIParameter", "URIReference", "URIReferenceException", "URIResolver", "URISyntax", "URISyntaxException", "URL", "URLClassLoader", "URLConnection", "URLDataSource", "URLDecoder", "URLEncoder", "URLStreamHandler", "URLStreamHandlerFactory", "URLStringHelper", "USER_EXCEPTION", "UserDataHandler", "UserException", "UShortSeqHelper", "UShortSeqHolder", "UTFDataFormatException", "Util", "UtilDelegate", "Utilities", "UUID", "ValidationEvent", "ValidationEventCollector", "ValidationEventHandler", "ValidationEventImpl", "ValidationEventLocator", "ValidationEventLocatorImpl", "ValidationException", "Validator", "Validator", "ValidatorHandler", "ValueBase", "ValueBaseHelper", "ValueBaseHolder", "ValueExp", "ValueFactory", "ValueHandler", "ValueHandlerMultiFormat", "ValueInputStream", "ValueMember", "ValueMemberHelper", "ValueOutputStream", "VariableElement", "VariableHeightLayoutCache", "Vector", "VerifyError", "VersionSpecHelper", "VetoableChangeListener", "VetoableChangeListenerProxy", "VetoableChangeSupport", "View", "ViewFactory", "ViewportLayout", "ViewportUI", "VirtualMachineError", "Visibility", "VisibilityHelper", "VM_ABSTRACT", "VM_CUSTOM", "VM_NONE", "VM_TRUNCATABLE", "VMID", "VoiceStatus", "Void", "VolatileImage", "W3CDomHandler", "W3CEndpointReference", "W3CEndpointReferenceBuilder", "WCharSeqHelper", "WCharSeqHolder", "WeakHashMap", "WeakReference", "WebEndpoint", "WebFault", "WebMethod", "WebParam", "WebParam.Mode", "WebResult", "WebRowSet", "WebService", "WebServiceClient", "WebServiceContext", "WebServiceException", "WebServiceFeature", "WebServiceFeatureAnnotation", "WebServicePermission", "WebServiceProvider", "WebServiceRef", "WebServiceRefs", "WildcardType", "WildcardType", "Window", "WindowAdapter", "WindowConstants", "WindowEvent", "WindowFocusListener", "WindowListener", "WindowStateListener", "WrappedPlainView", "Wrapper", "WritableByteChannel", "WritableRaster", "WritableRenderedImage", "WriteAbortedException", "Writer", "WrongAdapter", "WrongAdapterHelper", "WrongPolicy", "WrongPolicyHelper", "WrongTransaction", "WrongTransactionHelper", "WrongTransactionHolder", "WStringSeqHelper", "WStringSeqHolder", "WStringValueHelper", "X500Principal", "X500PrivateCredential", "X509Certificate", "X509Certificate", "X509CertSelector", "X509CRL", "X509CRLEntry", "X509CRLSelector", "X509Data", "X509EncodedKeySpec", "X509ExtendedKeyManager", "X509Extension", "X509IssuerSerial", "X509KeyManager", "X509TrustManager", "XAConnection", "XADataSource", "XAException", "XAResource", "Xid", "XmlAccessOrder", "XmlAccessorOrder", "XmlAccessorType", "XmlAccessType", "XmlAdapter", "XmlAnyAttribute", "XmlAnyElement", "XmlAttachmentRef", "XmlAttribute", "XMLConstants", "XMLCryptoContext", "XMLDecoder", "XmlElement", "XmlElement.DEFAULT", "XmlElementDecl", "XmlElementDecl.GLOBAL", "XmlElementRef", "XmlElementRef.DEFAULT", "XmlElementRefs", "XmlElements", "XmlElementWrapper", "XMLEncoder", "XmlEnum", "XmlEnumValue", "XMLEvent", "XMLEventAllocator", "XMLEventConsumer", "XMLEventFactory", "XMLEventReader", "XMLEventWriter", "XMLFilter", "XMLFilterImpl", "XMLFormatter", "XMLGregorianCalendar", "XmlID", "XmlIDREF", "XmlInlineBinaryData", "XMLInputFactory", "XmlJavaTypeAdapter", "XmlJavaTypeAdapter.DEFAULT", "XmlJavaTypeAdapters", "XmlList", "XmlMimeType", "XmlMixed", "XmlNs", "XmlNsForm", "XMLObject", "XMLOutputFactory", "XMLParseException", "XmlReader", "XMLReader", "XMLReaderAdapter", "XMLReaderFactory", "XmlRegistry", "XMLReporter", "XMLResolver", "XmlRootElement", "XmlSchema", "XmlSchemaType", "XmlSchemaType.DEFAULT", "XmlSchemaTypes", "XmlSeeAlso", "XMLSignature", "XMLSignature.SignatureValue", "XMLSignatureException", "XMLSignatureFactory", "XMLSignContext", "XMLStreamConstants", "XMLStreamException", "XMLStreamReader", "XMLStreamWriter", "XMLStructure", "XmlTransient", "XmlType", "XmlType.DEFAULT", "XMLValidateContext", "XmlValue", "XmlWriter", "XPath", "XPathConstants", "XPathException", "XPathExpression", "XPathExpressionException", "XPathFactory", "XPathFactoryConfigurationException", "XPathFilter2ParameterSpec", "XPathFilterParameterSpec", "XPathFunction", "XPathFunctionException", "XPathFunctionResolver", "XPathType", "XPathType.Filter", "XPathVariableResolver", "XSLTTransformParameterSpec", "ZipEntry", "ZipError", "ZipException", "ZipFile", "ZipInputStream", "ZipOutputStream", "ZoneView"
                    },//记录代码常用类型名

                    {"1"
                    },/*记录代码常用方法,这里原来设置了下面这么多..,然后我发现方法一般都是在 . 后面 括号前面.. 不是的就需要高级的匹配方式了 然而我没时间了..所以就这样吧
                    "toString", "length", "matcher","matches", "compile", "replace", "trim", "print", "println","containsKey","printf","scanf","next","close","in",
                    "replaceAll", "group", "equals", "start", "find", "continue", "extends", "append", "split", "substring","format","put","nextlnt","nextDouble",
                    "nextLine","hasNext","nextFloat","hasNextInt","hasNextDouble","hasNextFloat","hasNextByte","nextByte","nextBoolean","hasNextBoolean",
                    "end","charAt","printStackTrace","read","seek","writeBytes","getResource","currentThread","sleep","io","appendReplacement","appendTail",
                    "max","min","pow","cbrt","sqrt","abs","random","rint","round","valueOf","parseInt","parseDouble","parseLong","toCharArray","compareTo","currentTimeMillis",
                    "startsWith","endsWith","nextToken","hasMoreTokens","indexOf","setText","getText","setEchoChar","setEditable","addActionListener","removeActionListener",
                    "setText","addTextListener","removeTextListener","insert","replaceRange","getCaretPosition","setLabel","setBackground",
                    "getState","getLabel","add","remove","getSelectedIndex","addItemListener","removeItemListener","getSelectedItem","removeAll",
                    "setForeground","setFonts","setBounds","setLocation","setVisible","getBounds","getToolkit","setEnabled","setSize","getTitle","setResizable",
                    "setMenubar","getItem","getItemCount","addSeparator","setShortcut","setModal","getDirectory","getFile","getModifiers",
                    "getX","getY","getClickCount","addMouseListener","removeMouseListener","mousePressed","mouseReleased","mouseEntered","mouseExited","mouseClicked",
                    "addMouseMotionListener","mouseMoved","mouseDragged","setCursor","writeUTF","writeFloat","writeInt","writeLong","writeShort","writeDouble",
                    "skipByte","readLong","readBoolean","readByte","readChar","readFloat","readFully","write","counnect","unread","getAppletContext","showDocument",
                    "getByName","getHostName","getHostAddress","getLocalHost","receive","getPort","getAddress","getImage","getCodBase","drawImage","setIconImage",
                    "getWidth","getHeight","executeQuery","createStatement","newAudioClip","getAudioClip","play","loop","stop","getDocumenBase","createPlayer","controllerUpdate",
                    "prefetch","deallocate","getContentPane","setIcon","setHorizontalTextposition","setVerticalTextposition","setMnemonic","sort","clear","containsAll",
                    "getChars","getBytes","equalsIgnoreCase","regionMatches","lastIndexOf","concat","ensureCapacity","setLength","setCharAt","reverse","deleteCharAt",
                    "delete","reset","setFont","setPreferredSize","setAlignment","centerWindow","setDefaultCloseOperation","addItem","getLocalGraphicsEnvironment",
                    "getAvailableFontFamilyNames","getSource","setPage","getAbsolutePath","getSelectedFile","getStateChange","SELECTED"*/

                    {"false"},//这个我不想解释..
                    {"true"},
            };

    /**
     * 这是构造函数
     * 这里顺便把每个keywords的正则表达式录入到regexkeywords中
     */
    public JavaSyntaxHighlighter() {
        this.line = ""; // 保存当前处理的行

        //下面把正则表达式加入到每个keywords旁边 给后面匹配key时用
        regexkeywords = new String[keywords.length][keywords[1].length];//因为关键字中数组1的长度最长,按最长的长度来给regexkeywords分配空间
        for (int i = 0; i < keywords.length; i++) {
            int j = 0;
            for (String w : keywords[i]) {//这里添加关键字的正则匹配式子
                if (w != null) {
                    if (i == 2) {
                        regexkeywords[i][j] = "(?<!\\w)(?<=[\\.])";//关键字前面不能有字符,或者字符串标识符"和'
                        regexkeywords[i][j] += "(\\w+?)";//要匹配的关键字
                        regexkeywords[i][j] += "(?=[\\(\\).;])";//关键字后面不能有字符
                    } else {
                        regexkeywords[i][j] = "(?<!\\w)";//关键字前面不能有字符,或者字符串标识符"和'
                        regexkeywords[i][j] += w;//要匹配的关键字
                        regexkeywords[i][j] += "(?!\\w)";//关键字后面不能有字符
                    }
                }
                j++;
            }
        }
    }

    private void note_pos_find() {
        //查找注释部分位置并存到pos数组里
        pos1 = line.length();
        pos2 = line.length();//先假设没有注释
        //判断是否是多行注释
        Matcher pp1 = Pattern.compile("\\*/").matcher(this.line);
        Matcher pp2 = Pattern.compile("^/\\*").matcher(this.line.trim());
        Matcher pp3 = Pattern.compile("(?<=[){};])(\\s*?)(\\*/.*$)").matcher(this.line);
        if (!Multiline_comment) {//如果还不是多行注释,就找多行注释开始标志
            if (pp2.find()) {//查找开头有没有多行注释起始标志
                pos1 = 0;
                Multiline_comment = true;
            }
            if (pp3.find()) {//查找行尾有没有多行注释
                pos1 = pp3.start(2);
                Multiline_comment = true;
            }
        }
        if (Multiline_comment) {//如果还在多行注释中
            if (pos1 == line.length()) {
                pos1 = 0;
            }//如果注释起始地点未改变,仍为最后位置,代表前面没找到多行注释开始标志,也就代表这前面都是多行注释
            if (pp1.find()) {//找到结束标识符 */
                pos2 = pp1.end();
                Multiline_comment = false;
                return;
            } else return;
        }

        //用正则模式/(/|\*)(.*)|\*(.*)|(.*)\*/$检查是否为单行注释(//xxx /*xxx*/ *xxx xxx*/)或者是@Test这种
        Pattern p1 = Pattern.compile("^((/([/*]))(.*)|(/\\*(.*))|(/(.*)\\*/)|(^\\*.*$))|(^@\\w+)");
        Matcher find_note1 = p1.matcher(this.line.trim());
        if (find_note1.find()) {
            //处理单行注释;
            pos1 = 0;
            return;
        }

        Matcher find_note2 = Pattern.compile("(?<=[){};=,+])(\\s*?)(//.*$)").matcher(this.line);//查找行尾注释
        if (find_note2.find()) {
            pos1 = find_note2.start(2);  //标记行尾注释;
        }
    }

    private void highlight_note() {
        //'高亮注释行'
        if (!noteline.equals("")) {  // note为空,表示行尾无注释
            Matcher m = Pattern.compile("^(\\*?)(@\\w+)").matcher(noteline.trim());
            if (m.find()) {
                noteline = noteline.replaceFirst(m.group(2), " `noteplus` " + m.group(2) + " `end` ");//给注释中
            }
            noteline = noteline.replace(noteline, " `note` " + noteline + " `end` ");//最后把整个注释行贴上注释标识符
        }
    }

    /**
     * 下面的函数
     * 主要思路是用split和group,将字符串和非字符串各分入到两个不同的字符串数组里
     * 分别处理后再按非字符串+字符串+非字符串......这种顺序append到StringBuff里面,再toString插回到codeline里
     * (试了一下,这种顺序匹配都会成功,比如字符串前面什么都没有,可能会先插字符串后面的,但是没有,
     * 可能和split特性有关,即如果第一个就是分隔符,那么存入数组的第一个将是一个空白字符)
     * 实现精确的处理
     * 后面的那些匹配原理差不多,就不解释了
     */
    private void highlight_string() {
        //高亮字符串
        String[] str_temp = codeline.split(str_regex);
        Matcher m = Pattern.compile(str_regex).matcher(codeline);
        int n = 0;
        while (m.find()) {//先找有多少个字符串
            n++;
        }
        String[] str = new String[n];//分配记录字符串的数组长度
        n = 0;
        m.reset();
        while (m.find()) {
            str[n++] = m.group();
        }
        n = 0;
        StringBuffer codelineBuffer = new StringBuffer();
        for (String temp : str) {
            if (n < str_temp.length) {
                codelineBuffer.append(str_temp[n++]);
            }
            codelineBuffer.append(" `str` " + temp + " `end` ");
        }
        if (n < str_temp.length) {
            codelineBuffer.append(str_temp[n++]);
        }
        codeline = codelineBuffer.toString();
    }

    private void highlight_keyword() {
        //'高亮关键字'
        String[] str_temp = codeline.split(str_regex);
        Matcher m = Pattern.compile(str_regex).matcher(codeline);
        int n = 0;
        while (m.find()) {//先找有多少个字符串
            n++;
        }
        String[] str = new String[n];//分配记录字符串的数组长度
        n = 0;
        m.reset();
        while (m.find()) {
            str[n++] = m.group();
        }
        n = 0;
        StringBuffer codelineBuffer = new StringBuffer();
        for (String temp : str_temp) {
            for (int i = 0; i < regexkeywords.length; i++) {
                for (int j = 0; j < regexkeywords[i].length; j++) {
                    if (regexkeywords[i][j] != null) {
                        if (i == 2) {
                            Matcher w = Pattern.compile(regexkeywords[i][j]).matcher(temp);
                            while (w.find()) {
                                temp = temp.replaceAll(regexkeywords[i][j], " `key" + (i + 1) + "` " + w.group() + " `end` ");
                            }
                        } else {
                            temp = temp.replaceAll(regexkeywords[i][j], " `key" + (i + 1) + "` " + keywords[i][j] + " `end` ");
                        }
                    }
                }
            }
            codelineBuffer.append(temp);//添加处理好的非字符串
            if (n < str.length) {
                codelineBuffer.append(str[n++]);//添加字符串
            }
        }
        codeline = codelineBuffer.toString();
    }

    /**
     * replaceFirst是为了避免有的数字包含在别的数字里面,造成错误匹配
     * 所以先把第一次全匹配完了,再replace一遍把可能是重复的数字匹配上
     */
    private void highlight_numbers() {
        //高亮数字
        String[] str_temp = codeline.split(str_regex);
        Matcher m = Pattern.compile(str_regex).matcher(codeline);
        int n = 0;
        while (m.find()) {
            n++;
        }
        String[] str = new String[n];//记录字符串
        n = 0;
        m.reset();
        while (m.find()) {
            str[n++] = m.group();
        }
        n = 0;
        StringBuffer codelineBuffer = new StringBuffer();
        for (String temp : str_temp) {
            Matcher num = Pattern.compile("(?<![\\w_])(\\d+)+(?!\\w)").matcher(temp);//匹配数字的部分
            while (num.find()) {
                temp = temp.replaceFirst(num.group(), " `number` " + num.group() + " `end` ");
            }
            num.reset();
            while (num.find()) {
                temp = temp.replace(num.group(), " `number` " + num.group() + " `end` ");
            }
            codelineBuffer.append(temp);
            if (n < str.length) {
                codelineBuffer.append(str[n++]);
            }
        }
        codeline = codelineBuffer.toString();
    }

    private void highlight_operator() {
        //'高亮运算符'
        String[] opr = {"=", "(", ")", "{", "}", "|", "+", "-", "*", "%", "/", "<", ">", "&", "|", "!", "~", "[", "]", ";", "!", ":", ".", ","};//存储要匹配的运算符
        Matcher m = Pattern.compile(str_regex).matcher(codeline);
        String[] str_temp = codeline.split(str_regex);//记录非字符串
        int n = 0;
        while (m.find()) {
            n++;
        }
        String[] str = new String[n];//记录字符串
        n = 0;
        m.reset();
        while (m.find()) {
            str[n++] = m.group();
        }
        n = 0;
        StringBuffer codelineBuffer = new StringBuffer();
        for (String temp : str_temp) {
            for (String o : opr) {
                temp = temp.replace(o, " `opr` " + o + " `end` ");
            }
            codelineBuffer.append(temp);
            if (n < str.length) {
                codelineBuffer.append(str[n++]);
            }
        }
        codeline = codelineBuffer.toString();
    }

    /**
     * 将已经加好标识,转化成html格式
     *
     * @param data 输入已经加入标识符标记的字符串
     * @return 将标识符转为html格式的字符串
     */
    private String translate(String data) {
        //'转换为html标签'
        String[] name = {"note", "noteplus", "key1", "key2", "key3", "key4", "key5", "str", "opr", "number"};
        for (String n : name) {
            data = data.replaceAll("(?<!\")[ ]`" + n + "`[ ]", "<span class=\'" + n + "\'>");
        }
        data = data.replaceAll("[ ]`end`[ ](?!(\"))", "</span>");//用正则表达式,设置了标识符不能被"和' 所包含,避免用户字符串中就正好包含我们的标识符,产生误判
        return data;
    }

    /**
     * 处理文本文件中的每行,找到不同需高亮的地方并用html格式标记,最后全部转化成html格式,
     * 这是这个类主要的函数,调用这个类别的private函数完成处理
     *
     * @param line 输入读入代码文件中的一行
     * @return 返回处理好代码高亮的一行
     */
    String highlight(String line) {
        //'单行代码高亮'
        this.line = line;
        if (this.line.trim().equals("")) {
            return line;
        }  //空串不处理

        note_pos_find();//pos记录注释开始位置,避免对注释处理
        noteline = this.line.substring(pos1, pos2);//取出注释部分
        codeline = this.line.substring(0, pos1) + this.line.substring(pos2, line.length());//取出代码部分

        highlight_note();  //处理行尾注释
        highlight_numbers();//处理数字
        highlight_keyword(); //处理关键字
        highlight_operator();  //处理运算符
        highlight_string(); //处理字符串
        line = codeline + noteline;
        line = line.replace("<", "&lt;");//替换java中的“<”为html的显示符,防止html误判
        line = line.replace(">", "&gt;");//替换java中的“>”为html的显示符
        return translate(line);  //返回转化好标识符,处理好的行
    }
}
